爬虫日记-代理

代理

当我们美好的爬完一个页面之后,喝了一杯茶,决定再爬一次,提升成就感,这时候发现了居然爬不了了!

这是为什么?

因为有些网页他会做了一些反爬措施,你的ip爬取在单位时间内访问了过多次数。所以他就不让你爬了。这种情况我们就可以称之为,你的ip被他的服务器端给封掉了。

那么我们是不是可以通过某种手段来伪装我们的ip,让这个服务器端识别不出来是我们本机的ip,这样是不是就可以无限次数的发起请求了呢?这就是一个有效的反反爬措施。

代理:

​ 就是破解封ip这种反爬机制用的。

什么是代理:

​ —代理服务器

正常情况下,我们向服务器发送请求,服务器接收到之后会给我们返回数据,代理服务器就相当于是在我们和服务器中间加了一道中转站,我们发送的请求先到代理服务器,然后代理服务器在发送给服务器端,这样服务器端就不知道我们的ip了。

代理的作用:

​ —突破自身ip访问的限制。

​ —隐藏自身真是ip。

代理的相关网站:

​ —快代理

​ —西祠代理

​ ——www.goubanjia.com

代理ip的类型:

​ —http:应用到http协议对应的url中

​ —https:应用到https协议对应的url中

代理ip的匿名度:

​ —透明:服务器知道该次请求使用了代理,也知道是哪个ip使用了代理

​ —匿名:知道使用了代理,但不知道是那个ip使用的。

​ —高匿:不知道使用了代理,更不知道真实的ip

import requests

url='https://www.baidu.com/s?wd=ip'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3730.400 QQBrowser/10.5.3805.400'}

page_text=requests.get(url=url,headers=headers,proxies={'https':'221.178.232.130:8080'}).text
with open('./baidu.html','wt',encoding='utf8')as fw:
    fw.write(page_text)

只需要在get里面加上一个关键字参数proxies,然后在里面写上http或者https对应的代理ip,这时候你的代理就生效了,直接访问服务器的ip已经不是你的ip了,是你的代理。

posted @ 2019-09-22 17:30  chanyuli  阅读(210)  评论(0编辑  收藏  举报