查看: 150|回复: 0

Python爬虫连载5-Proxy、Cookie解析

[复制链接]
发表于 2020-2-16 00:51:51 | 显示全部楼层 |阅读模式
一、ProxyHandler处置惩罚(署理服务器
1.使用署理IP,是爬虫的常用本领
2.获取署理服务器的地址:
www.xicidaili.com
www.goubanjia.com
3.署理用来隐藏真实访问中,署理不允许频繁访问某一个固定网站,所以署理一定要许多许多。
4.根本使用步骤:
(1)设置署理地址
(2)创建PoxyHandler
(3)创建Opener
(4)安装Opener
  1. """使用署理访问百度首页"""from urllib import request,errorif __name__ =="__main__":    url = "https://www.baidu.com"    #设置署理地址    proxy = {"http":"39.106.114.143:80"}    #创建ProxyHandler    proxy_handler = request.ProxyHandler(proxy)    #创建Opener    opener = request.build_opener(proxy_handler)    #安装Opener    request.install_opener(opener)    #现在如果访问url。那么就会使用署理服务器    try:        rsp = request.urlopen(url)        html = rsp.read().decode()        print(html)    except error.URLError as e:        print(e)    except Exception as e:        print(e)
复制代码

二、cookie
1..由于http协议的无记忆性,人们为了弥补这个缺憾,所采用的一个补充协议。
2.cookie是发放给用户(即http浏览器)的一段信息,session是生存在服务器上的对应的另一半的信息,用来记载用户信息。
3.cookie和session的区别
(1)存放的位置不相同;(2)cookie不安全;(3)session会生存在服务器上一定时间,会过期;(3)单个cookie生存数据不凌驾4k,许多浏览器限制一个站点最多生存20个。
4.session存放位置
(1)存在服务器上;(2)一样平常情况下,session是放在内存中大数据库中。
5.案例:
没有cookie登录则反馈网页为未登录状态
使用cookie登录
  1. from urllib import requestif __name__ == "__main__":    url = "https://leetcode-cn.com/"    headers = {        "cookie":"_ga=GA1.2.606835635.1580743041; gr_user_id=d15dfef5-20a7-44a4-8181-f088825ee052; grwng_uid=1d99b83c-8186-4ffa-905e-c912960d9049; __auc=952db4f31700ba0a3811855dc67; csrftoken=zW1tIWrQQDGQ2gDeEAiRM3Pu41f3qetXjvNP5jxuDpekTTyHj262rmfnO2PtXiCI; LEETCODE_SESSION=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJfYXV0aF91c2VyX2lkIjoiOTUxOTE1IiwiX2F1dGhfdXNlcl9iYWNrZW5kIjoiYXV0aGVudGljYXRpb24uYXV0aF9iYWNrZW5kcy5QaG9uZUF1dGhlbnRpY2F0aW9uQmFja2VuZCIsIl9hdXRoX3VzZXJfaGFzaCI6ImQ0ODczNmFiODAwZjk0ZTU3ZjAwMmQ4YjU1YjRmNWZmMDViMDllOTIiLCJpZCI6OTUxOTE1LCJlbWFpbCI6IiIsInVzZXJuYW1lIjoicnVpZ2VnZTY2IiwidXNlcl9zbHVnIjoicnVpZ2VnZTY2IiwiYXZhdGFyIjoiaHR0cHM6Ly9hc3NldHMubGVldGNvZGUtY24uY29tL2FsaXl1bi1sYy11cGxvYWQvZGVmYXVsdF9hdmF0YXIucG5nIiwicGhvbmVfdmVyaWZpZWQiOnRydWUsInRpbWVzdGFtcCI6IjIwMjAtMDItMDMgMTU6MTg6MDYuNjYw160b58f59beeae32; a2873925c34ecbd2_gr_session_id=e9ba4267-3dbc-47c1-aa02-c6e92e8eb4a8; a2873925c34ecbd2_gr_last_sent_sid_with_cs1=e9ba4267-3dbc-47c1-aa02-c6e92e8eb4a8; a2873925c34ecbd2_gr_session_id_e9ba4267-3dbc-47c1-aa02-c6e92e8eb4a8=true; _gid=GA1.2.1242221115.1580917808; Hm_lpvt_fa218a3ff7179639febdb15e372f411c=1580917870; a2873925c34ecbd2_gr_cs1=ruigege66; _gat_gtag_UA_131851415_1=1"    }    req = request.Request(url,headers=headers)    rsp = request.urlopen(req)    html = rsp.read().decode()    with open("rsp.html","w") as f:        f.write(html.encode("GBK","ignore").decode("GBK"))
复制代码

三、源码
Reptitle5_Proxy.py
Reptitle6_Cookie.py
https://github.com/ruigege66/PythonReptile/blob/master/Reptitle5_Proxy.py
https://github.com/ruigege66/PythonReptile/blob/master/Reptitle6_Cookie.py
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客园:https://www.cnblogs.com/ruigege0000/
4.接待关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,背景回复”礼包“,获取大数据学习资料

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?用户注册

x

相关技术服务需求,请联系管理员和客服QQ:2753533861或QQ:619920289
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

帖子推荐:
客服咨询

QQ:2753533861

服务时间 9:00-22:00

快速回复 返回顶部 返回列表