爬虫--模拟登录
模拟登录流程:
对点击登录按钮对应的请求进行发送(post请求)
处理请求参数:
--用户名
--密码
--验证码
--其他的防伪参数
模拟登录cookie操作:
1.手动cookie处理
通过抓包工具获取cookie值,将该值封装到headers中
2.自动处理cookie
模拟登录post请求后,cookie由服务器端创建
session会话对象:
1.可以进行请求的发送
2.如果请求过程中产生了cookie,则该cookie会被自动存储在该session对象中
--创建一个session对象:session = requests.Session()
--使用session对象进行模拟登录post请求的发送(cookie会被存储在session中)
--session对象对个人主页对应的get请求进行发送
session = requests.Session()
response = session.post(url=url,headers=headers,data=data)
# cookie会自动存储到session对象中,之后需要用到cookie时,使用session对象进行发送
page_text = session.get(url=url,headers=headers).text # 携带了cookie值发送
代理:
破解IP限制的反爬机制
代理即代理服务器
代理相关网站:
--快代理
--西祠代理
--www.goubanjia.com(已挂)
代理ip的类型:
--http:只能应用到http协议对应的url中
--https:只能应用到https协议对应的url中
代理ip的匿名度:
--透明:服务器知道此次请求使用了代理,也知道该请求对应的真实ip
--匿名:知道使用了代理但是不知道真实ip
--高匿:不知道使用代理,也不知道真实ip
基本代码:
import requests if __name__ == '__main__': url = 'https://www.baidu.com/s?ie=UTF-8&wd=ip' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome...' } page_text = requests.get(url=url,headers=headers,proxies={'https':'194.233.73.107:443'}).text with open('myip.html','w',encoding='utf-8') as fp: fp.write(page_text)

浙公网安备 33010602011771号