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

一、ProxyHandler处理(代理服务器)

1.使用代理IP,是爬虫的常用手段

2.获取代理服务器的地址:

www.xicidaili.com

www.goubanjia.com

3.代理用来隐藏真实访问中,代理不允许频繁访问某一个固定网站,所以代理一定要很多很多。

4.基本使用步骤:

(1)设置代理地址

(2)创建PoxyHandler

(3)创建Opener

(4)安装Opener


"""

使用代理访问百度首页

?

"""

from urllib import request,error

?

if __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登录

from urllib import request

?

if __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.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

原文地址:https://www.cnblogs.com/ruigege0000/p/12267424.html

时间: 2024-11-07 15:34:36

Python爬虫连载5-Proxy、Cookie解析的相关文章

Python爬虫入门六之Cookie的使用

大家好哈,上一节我们研究了一下爬虫的异常处理问题,那么接下来我们一起来看一下Cookie的使用. 为什么要使用Cookie呢? Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密) 比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的.那么我们可以利用Urllib2库保存我们登录的Cookie,然后再抓取其他页面就达到目的了. 在此之前呢,我们必须先介绍一个opener的概念. 1.Opener 当你获取一个

Python爬虫连载1-urllib.request和chardet包使用方式

一.参考资料 1.<Python网络数据采集>图灵工业出版社 2.<精通Python爬虫框架Scrapy>人民邮电出版社 3.[Scrapy官方教程](http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/tutorial.html) 4.[Python3网络爬虫](http://blog.csdn.net/c406495762/article/details/72858983 二.前提知识 url.http协议.web前端:html\

Python爬虫连载10-Requests模块、Proxy代理

一.Request模块 1.HTTP for Humans,更简洁更友好 2.继承了urllib所有的特征 3.底层使用的是urllib3 4.?开源地址:https://github.com/requests/requests 5.中文文档?:https://requests.readthedocs.io/zh_CN/latest/ 6.先安装这个包:pip install requests 7.get请求 (1)requests.get() (2)requests.request("get&

6.Python爬虫入门六之Cookie的使用

大家好哈,上一节我们研究了一下爬虫的异常处理问题,那么接下来我们一起来看一下Cookie的使用. 为什么要使用Cookie呢? Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密) 比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的.那么我们可以利用Urllib2库保存我们登录的Cookie,然后再抓取其他页面就达到目的了. 在此之前呢,我们必须先介绍一个opener的概念. 1.Opener 当你获取一个

python爬虫学习之使用XPath解析开奖网站

实例需求:运用python语言爬取http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html这个开奖网站所有的信息,并且保存为txt文件. 实例环境:python3.7  BeautifulSoup库.XPath(需手动安装)  urllib库(内置的python库,无需手动安装) 实例网站: 第一步,点击链接http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html进入网站,查看网站基本信息,注意一共要爬取11

Python爬虫连载7-cookie的保存与读取、SSL讲解

一.cookie的保存与读取 1.cookie的保存-FileCookie.Jar from urllib import request,parse from http import cookiejar #创建cookiejar实例 filename = "cookie.txt" cookie = cookiejar.MozillaCookieJar(filename) #生成cookie的管理器 cookie_handler = request.HTTPCookieProcessor

Python爬虫连载17-ItemPipeLine、中间件

一.ItemPipeLine 1.爬虫提取出的数据存入item之后,item中保存的数据需要进一步处理,比如:清洗,去重,存储等 2.pipeline需要process_item函数 (1)process_item?:spider提出来的item作为参数出入,同时传入的还有spider:此方法是必须要实现的?:必须返回一个item对象,被丢弃的item不会被之后的pipeline处理 (2)__init__:构造函数 进行一些必要的参数初始化 (3)open_spider(spider) spi

Python爬虫知识点——Session与Cookie

Session和Cookie: Cookie:保持登录后的认证状态而保存在本地的数据 session:用cookie来标记用户,cookie携带了会话ID消息,通过检查cookie就能找到会话(session) cookie与session相互配合,一个处于客户端,一个处于服务端,两者相互协作. 会话cookie和持久cookie 会话Cookie:把cookie放在浏览器内存里,浏览器关闭后失效. 持久Cookie:保存cookie到客户端的硬盘中,下次继续使用. 由Cookie的Max Ag

Python爬虫的三种数据解析方式

数据解析方式 - 正则 - xpath - bs4 数据解析的原理: 标签的定位 提取标签中存储的文本数据或者标签属性中存储的数据 正则 # 正则表达式 单字符: . : 除换行以外所有字符 [] :[aoe] [a-w] 匹配集合中任意一个字符 \d :数字 [0-9] \D : 非数字 \w :数字.字母.下划线.中文 \W : 非\w \s :所有的空白字符包,括空格.制表符.换页符等等.等价于 [ \f\n\r\t\v]. \S : 非空白 数量修饰: * : 任意多次 >=0 + :