今日内容概要

  • form表单

  • requests模块

    可以模拟浏览器朝服务端发送各式各样的请求

  • cookie与session

  • requests模块小案例(网站的基本防爬措施)

今日内容详细

form表单

作用:能够获取前端用户输入的信息发送给后端

以用户注册为例
form表单重要的几个参数
action
控制数据提交到哪个后端
method
控制朝后端提交的请求方法
form表单默认使用的是get请求
获取用户输入需要使用input标签
input标签一般情况下需要结合label标签一起使用
但是不配合也不影响
<label for="d1" class="c1"</label>
用户名:<input type="text" class="c1" id="d1"><label for="">
</label> input标签
type属性
text 普通文本
password 密文展示
date 日期
radio 单选
checkbox 多选
redio和checkbox如果要设置默认选中加checked即可
file 上传文件
email 获取邮箱格式 submit 触发提交数据的动作
button 普通按钮 本身没有任何功能
reset 重置输入
select标签 下拉框
一个个选项就是一个个的option标签
默认是单选的
加上multiple变为多选
默认选中加selected textarea标签
获取大段的文本输入

标签两个非常重要的参数

id
类似于身份证号 同一个html页面中id不能重复
class
类似于面向对象里面的类的继承 一个标签可以有多个类

requests模块

爬虫的基本流程
发送请求 获取响应 解析内容 保存数据
requests模块
能够模拟浏览器发送请求 比urllib模块更加方便
该模块不是自带的模块需要提前下载
pip3 install requests
# 如果你下载的模块想指定版本 需要在模块名的后面加两个等号
# pip3 install django== 1.11.11
基本使用
import requests
# requests.get() # 朝服务端发送get请求
# requests.post() # 朝服务端发送post请求 # res=requests.get("https://cn.bing.com/")
# res.encoding='utf-8' # 修改编码
# print(res.text) # 获取页面HTML代码
# with open(r'获取页面.html','w',encoding='utf-8')
as f:
# f.write(res.text) 加请求头
headers
加携带的参数
params 如果涉及到转码需要模块
from urllib.parse import urlencode
res1 = urlencode(params,encoding='utf-8')
print(res1)
wd=%E7%BE%8E%E5%A5%B3

简单的防爬措施

1.校验当前请求者是否是一个浏览器
USER-Agent:Mozilla/5.0(windows NT 10.0;WOW64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36 # 标识浏览器
请求来了之后我们会先取请求头里面查看是否有携带user-Agent参数,如果携带了说明是一个浏览器如过没携带说明你是一个程序 2.校验你当前的请求是否是本网站发出的
Referer:https://www.lagou.com/ # 从哪儿来
请求来了之后会去请求头中校验referer判断后面的网址是否输入我们的网址的
如果不是也不会拒绝
图片防盗链

cookie与session

HTTP协议
四大特性
1.基于TCP/IP作用于应用层之上的协议
2.基于请求响应
3.无状态
4.无连接 无状态
不保存用户状态,所有的用户无论来多少次对于服务端来说都是初见
针对无状态的特点我们需要找到一种可以记录客户端状态的方法
cookie
保存在客户端浏览器上面的键值对
就拿登录功能举例
当你第一次输入了用户名和密码之后
我的服务端会给你返回一个随机字符串
你保存在浏览器上
之后再访问服务端的时候你把这个随机字符串带给我
我来校验这个字符串跟我之前给你这个用户的是否
username jason
password 123 session
保存在服务端上面的键值对
给客户端一个随机的字符串
参考博客网址:
https://www.cnblogs.com/Dominic-Ji/p/10886902.html

html续篇及初识爬虫的更多相关文章

  1. python爬虫从入门到放弃(一)之初识爬虫

    整理这个文档的初衷是自己开始学习的时候没有找到好的教程和文本资料,自己整理一份这样的资料希望能对小伙伴有帮助 什么是爬虫? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页 ...

  2. python爬虫系列之初识爬虫

    前言 我们这里主要是利用requests模块和bs4模块进行简单的爬虫的讲解,让大家可以对爬虫有了初步的认识,我们通过爬几个简单网站,让大家循序渐进的掌握爬虫的基础知识,做网络爬虫还是需要基本的前端的 ...

  3. Python爬虫--初识爬虫

    Python爬虫 一.爬虫的本质是什么? 模拟浏览器打开网页,获取网页中我们想要的那部分数据 浏览器打开网页的过程:当你在浏览器中输入地址后,经过DNS服务器找到服务器主机,向服务器发送一个请求,服务 ...

  4. python爬虫之路——初识爬虫三大库,requests,lxml,beautiful.

    三大库:requests,lxml,beautifulSoup. Request库作用:请求网站获取网页数据. get()的基本使用方法 #导入库 import requests #向网站发送请求,获 ...

  5. python爬虫之路——初识爬虫原理

    爬虫主要做两件事 ①模拟计算机对服务器发起Request请求 ②接收服务器端的Response内容并解析,提取所需的信息 互联网页面错综复杂,一次请求不能获取全部信息.就需要设计爬虫的流程. 本书主要 ...

  6. python爬虫---从零开始(一)初识爬虫

    我们开始来谈谈python的爬虫. 1,什么是爬虫: 网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟程序或者蠕虫.互联网犹如一个大蜘蛛 ...

  7. 爬虫基础spider 之(一) --- 初识爬虫

    爬虫概念 (spider,网络蜘蛛)通过互联网上一个个的网络节点,进行数据的提取.整合以及存储.从而获取我们想要的部分 robots协议 robots协议不是技术层面的协议,只是一个君子协定: 首先在 ...

  8. 【python爬虫】初识爬虫

    一.爬虫的定义 爬虫定义:程序或者脚本——自动的爬取万维网的数据的程序或者脚本. 二.爬虫可以解决的问题 1.解决冷启动问题. 2.搜索引擎的根基——通用爬虫. 3.帮助机器学习建立知识图谱. 4.制 ...

  9. python自动化开发-[第二十三天]-初识爬虫

    今日概要: 1.爬汽车之家的新闻资讯 2.爬github和chouti 3.requests和beautifulsoup 4.轮询和长轮询 5.django request.POST和request. ...

随机推荐

  1. 第06讲:Flink 集群安装部署和 HA 配置

    Flink系列文章 第01讲:Flink 的应用场景和架构模型 第02讲:Flink 入门程序 WordCount 和 SQL 实现 第03讲:Flink 的编程模型与其他框架比较 第04讲:Flin ...

  2. django之集成第三方支付平台PaysAPI与百度云视频点播服务接入

    PaysAPI直接查看接口文档:https://www.paysapi.com/docindex,比较简单 百度云视频点播服务接入: 1. 准备工作:百度云的示例:http://cyberplayer ...

  3. 尚硅谷全套课件整理:Java、前端、大数据、安卓、面试题

    目录 Java 尚硅谷 IT 精英计划 JavaSE 内部学习笔记.pdf 尚硅谷 Java 基础实战之银行项目.pdf 尚硅谷 Java 技术之 JDBC.pdf 尚硅谷 Java 技术之 Java ...

  4. 布客&#183;ApacheCN 编程/大数据/数据科学/人工智能学习资源 2020.4

    公告 我们的机器学习群(915394271)正式改名为财务提升群,望悉知. 请关注我们的公众号"ApacheCN",回复"教程/路线/比赛/报告/技术书/课程/轻小说/漫 ...

  5. 技术管理进阶——Leader应该关注成长慢的同学吗?

    原创不易,求分享.求一键三连 两个故事 我该怎么办? ​在大学毕业的时候,恩师跟我说了一个故事: 有一个女同学跟他说,不知道毕业了该干撒,不知道该怎么办. 正处于「低谷期」的恩师突然一怔,想到貌似自己 ...

  6. HTML图片轮播

    一.纯 CSS 实现图片轮播 引自原文作者:南张人 原文链接:https://blog.csdn.net/u011848617/article/details/80468463 理论基础 CSS3 a ...

  7. JFrame 的层次结构 及 背景设置说明

    感谢原文:https://blog.csdn.net/qq_32006373/article/details/49659129 一.JFrame 的层次结构 我们通过两个图来说明一下 JFrame 的 ...

  8. SEL类型

    1.什么是SEL类型 SEL类型代表着方法的签名,在类对象的方法列表中存储着该签名与方法代码的对应关系 每个类的方法列表都存储在类对象中 每个方法都有一个与之对应的SEL类型的对象 根据一个SEL对象 ...

  9. @property修饰符

    @property修饰符 修饰是否生成getter方法的 readonly 只生成setter方法,不生成getter方法 readwrite 既生成getter 又生成setter方法(默认) @p ...

  10. python办公自动化系列之金蝶K3自动登录(二)

    接上一篇博文python办公自动化系列之金蝶K3自动登录(一),我们接着聊聊利用python脚本实现金蝶K3 Wise客户端自动登录这一需求. 如上图所示,自动选择[组织机构]后,我们还需要驱动[当前 ...