爬虫复习

不想误导,若有错误,希望各位不吝指教!!

代理:proxies参数

格式:

1 proxies = {
2   "http": "http://12.34.56.79:9527",
3   "https": "http://12.34.56.79:9527",
4 }

私密代理:

1 # 如果代理需要使用HTTP Basic Auth,可以使用下面这种格式:
2 proxy = { "http": "xx:xx@xx:xx" }
3 proxy = { "http": "mr_mao_hacker:sffqry9r@61.158.163.130:16816" }

拿cookies参数:

原理:

Cookie名字(Name)
Cookie的值(Value)
Cookie的过期时间(Expires/Max-Age)
Cookie作用路径(Path)
Cookie所在域名(Domain),
使用Cookie进行安全连接(Secure)。
​
前两个参数是Cookie应用的必要条件,另外,还包括Cookie大小(Size,不同浏览器对Cookie个数及大小限制是有差异的)。

 

格式:

1 # 7\. 返回CookieJar对象:
2 cookiejar = response.cookies
3 4 # 8\. 将CookieJar转为字典:
5 cookiedict = requests.utils.dict_from_cookiejar(cookiejar)

session:

1 requests.session()
2 # 4\. 发送附带用户名和密码的请求,并获取登录后的Cookie值,保存在ssion里
3 ssion.post("http://www.renren.com/PLogin.do", data = data)
4 5 # 5\. ssion包含用户登录后的Cookie值,可以直接访问那些登录后才可以访问的页面
6 response = ssion.get("http://www.renren.com/410043129/profile")

处理HTTPS请求 SSL证书验证:

如果SSL证书验证不通过,或者不信任服务器的安全证书,则会报出SSLError

跳过 12306 的证书验证,把 verify 设置为 False 就可以正常请求了

1 1.r = requests.get("https://www.12306.cn/mormhweb/", verify = False)
2 2.
3 # 1. 导入Python SSL处理模块
4 import ssl
5 6 # 2. 表示忽略未经核实的SSL证书认证
7 context = ssl._create_unverified_context()
8 r = requests.get("https://www.12306.cn/mormhweb/", context = context)

随机/添加获取User-Agent:

复制代码
 1 #也可以通过调用Request.add_header() 添加/修改一个特定的header
 2 request.add_header("Connection", "keep-alive")
 3  4  5 ua_list = [
 6     "Mozilla/5.0 (Windows NT 6.1; ) Apple.... ",
 7     "Mozilla/5.0 (X11; CrOS i686 2268.111.0)... ",
 8     "Mozilla/5.0 (Macintosh; U; PPC Mac OS X.... ",
 9     "Mozilla/5.0 (Macintosh; Intel Mac OS... "
10 ]
11 12 user_agent = random.choice(ua_list)
13 其他:
复制代码

1.Handler处理器 和 自定义Opener

2.ProxyHandler处理器(代理设置)

3.cookiejar库 和 HTTPCookieProcessor处理器

posted @   Xbhog  阅读(273)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示