爬虫--模拟登录
模拟登录流程:
对点击登录按钮对应的请求进行发送(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)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通