-
Python爬虫连载11-cookie、session、验证SSL证书、数据提取简介
一、cookie
1.requests可以自动处理cookie信息
import requests rsp = requests.get("http://www.baidu.com") #如果对方服务器给传送过来cookie信息,则可以同通过反馈的cookie属性得到 #返回一个cookiejar的实例 cookiejar = rsp.cookies print(cookiejar) #可以将cookiejar转换为字典 cookiedict = requests.utils.dict_from_cookiejar(cookiejar) print(cookiedict)
二、session
1.跟服务器端的session不是一个东西
2.模拟一次会话,从客户端浏览器链接服务器开始,到客户端浏览器断开
3.能让我们跨请求保持某些参数,比如在同一个session实例发出的所有请求之间保持cookie
import requests #创建session对象,可以暴捶cookie的值 ss = requests.session() headers = {"User-Agent":"xxxxxxxxxxxxxxxxxxxxxxxxx"} data = {"name":"xxxxxxxxxxxxxxxxxxxxxx"} #此时,由创建的session管理请求,负责发出请求 ss.post("http://www.baidu.com",data=data,headers=headers) rsp = ss.get("xxxxxxxxxxxxx")
三、https请求验证ssl证书
1.参数verify负责表示是否需要验证ssl证书,默认是True
2.如果不需要验证ssl证书,则设置成False表示关闭
import requests rsp1 = requests.get("https://www.baidu.com",verify=False) #如果用verify=True访问12306,会报错,因为它的证书有问题
四、数据提取
1.页面解析和数据提取
(1)结构数据:现有的结构,后有的数据
例如:JSON文件(JSON Path)(转化为Python类型进行操作)、XML文件(转换为python类型(xmltodict)、Xpath、CSS选择器、正则
(2)非结构化数据:先有数据,后有的结构
例如:文本文件、电话号码、邮箱地址(通常处理此类数据,使用正则表达式)、Html文件(使用正则、Xpath、CSS选择器)
五、源码
Reptitle11_1_cookieAndSession.py
Reptitle11_2_SessionAnalysis.py
https://github.com/ruigege66/PythonReptile/blob/master/Reptitle11_1_cookieAndSession.py
https://github.com/ruigege66/PythonReptile/blob/master/Reptitle11_2_SessionAnalysis.py
2.CSDN:https://blog.csdn.net/weixin_44630050
出 处:https://www.cnblogs.com/ruigege0000/p/12387441.html