作者:大市低开_127 | 来源:互联网 | 2023-07-29 07:20
本文由编程笔记#小编为大家整理,主要介绍了爬虫复习相关的知识,希望对你有一定的参考价值。
不想误导,若有错误,希望各位不吝指教!!
代理: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处理器