爬虫的笔记整理
网络爬虫首先要认识http和https协议
在浏览器中发送一个http请求:
1.输入一个URL地址之后,向http服务器发送请求,主要分为GET和POST两种方法
2.输入URL之后,发送一个request请求,这时候服务器把response文件对象发送回浏览器
3.浏览器中解析返回的HTML,其中引用了许多的其他文件,images,css文件,JS文件等,再次法中request去获取这些内容
4.所有的文件都下载成功之后,就完整的显示出来
URL:统一资源定位符
常用的请求方法
1.get,只将内容从服务器获取下来
2,post,发送数据登录,上传文件等
两种视情况而定,有可能因为反爬虫机制而使用不同的请求方法
请求头常见的参数:
1.User-Agent :浏览器名称
2.Referer :表明当前这个请求是从哪个 url 过来的。
3.Cookie : http 协议是无状态的,需要登录时候使用
网页抓包工具
1.elements,源代码
2,console,控制台
3,sources,所有的源代码
4,network,浏览器发动的所有请求
urillb
1,是python中的一个基本网络请求库,模拟浏览器行为,相关的网络请求都被集中到urllib.request中。
2.urlopen函数.
3.cookie.http请求是无状态的 cookie第一次登录后服务器返回的数据(cookie)到浏览器,保存在本地 ,第二次就会被浏览器自动识别了
cookie的格式:
Set-Cookie: NAME=VALUE; Expires/Max-age=DATE ; Path=PATH ; Domain=DOMAIN_NAME ;SECUR
NAME : cookie 的名字。
VALUE : cookie 的值。
Expires : cookie 的过期时间。
Path : cookie 作用的路径。
Domain : cookie 作用的域名。
SECURE :是否只在 https 协议下起作用
requests库
发送get的请求
1.用requests.get来调用
2. 添加 headers 和查询参数:
如果想添加 headers ,可以传入 headers 参数来增加请求头中的 headers 信息。如果要将参数
放在 url 中传递,可以利用 params 参数。
发送post的请求:
1.用requests。post来获取
2.传入data数据,传入字典进去(data数据是在需要传入其他内容时使用)
使用代理: