当你访问一个网页的时候,浏览器会向服务器发送访问请求,这个请求数据被成为请求头,其中包含许多信息,其中一条是浏览器的版本信息,User-Agent。所以我们的爬虫代码中要模拟一个请求头,来伪装成浏览器。
headers = {'User-Agent'="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"}
我们知道浏览器用久了会卡,这时候就需要清除缓存,cookie。cookie是什么呢?你在登陆某个网站时,输入用户名和密码之后浏览器会提示是否保存该密码,这个就是cookie。然后我们下次访问的时候,浏览器会把cookie中的内容通过headers发送给服务器。
headers = {'cookies'=""}
使用cookiejar通过获取cookies,登陆网页
from http import cookiejar
1.创建cookiejar实例
cookie = cookiejar.CookieJar()
2.生成cookie管理器
cookie_handler = request.HTTPCookieProcessor(cookie)
3.创建HTTP管理器
http_handler = request.HTTPHandler()
4.创建HTTPS管理器
https_handler = request.HTTPSHandler()
5.创建请求管理器
opener = request.build_opener(cookie_handler,http_handler,https_handler)
6.使用请求管理器模拟初次登陆,获取cookie
7.再次使用cookie访问网页