爬虫复习

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

代理: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 @ 2020-06-11 10:09  xbhog  阅读(264)  评论(0编辑  收藏  举报