栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

通过爬虫代理IP快速增加博客阅读量——亲测有效

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

通过爬虫代理IP快速增加博客阅读量——亲测有效


首先题目所说的并不是目的,本文主要是为了更详细的了解网站的反爬机制。而真的想要更高的阅读量还是需要有真正优质的才可以达到的。

1. 通过Headers反爬虫

从用户请求的Headers反爬虫是最常见的反爬虫策略。很多网站都会对Headers的User-Agent进行检测,还有一部分网站会对Referer进行检测(一些资源网站的防盗链就是检测Referer)。

如果遇到了这类反爬虫机制,可以直接在爬虫中添加Headers,将浏览器的User-Agent复制到爬虫的Headers中;或者将Referer值修改为目标网站域名。对于检测Headers的反爬虫,在爬虫中修改或者添加Headers就能很好的绕过。

2. 基于用户行为反爬虫

还有一部分网站是通过检测用户行为,例如同一IP短时间内多次访问同一页面,或者同一账户短时间内多次进行相同操作。

大多数网站都是前一种情况,对于这种情况,使用IP代理就可以解决。我们可以将代理IP检测之后保存在文件当中,但这种方法并不可取,代理IP失效的可能性很高,因此从专门的提供代理ip的商家购买代理是个比较好的方法。

对于第二种情况,可以在每次请求后随机间隔几秒再进行下一次请求。有些有逻辑漏洞的网站,可以通过请求几次,退出登录,重新登录,继续请求来绕过同一账号短时间内不能多次进行相同请求的限制。

还有针对cookies,通过检查cookies来判断用户是否是有效用户,需要登录的网站常采用这种技术。更深入一点的还有,某些网站的登录会动态更新验证,

4. 限定某些IP访问

的代理IP可以从很多网站获取到,既然爬虫可以利用这些代理IP进行网站抓取,网站也可以利用这些代理IP反向限制,通过抓取这些IP保存在服务器上来限制利用代理IP进行抓取的爬虫。

好了,现在实际操作一下,编写一个通过代理IP访问网站的爬虫。

首先获取代理IP,用来抓取。

def Get_proxy_ip():

 headers = {

'Host': 'www.16yun.cn.',

 'User-Agent':'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)',

'Accept': r'application/json, text/javascript, */*; q=0.01',

'Referer': r'http://www.xicidaili.com/', }

req = request.Request(r'http://www.16yun.cn/nn/', headers=headers) #发布代理IP的网站 

response = request.urlopen(req)

html = response.read().decode('utf-8')

 proxy_list = []

 ip_list = re.findall(r'd+.d+.d+.d+',html)

port_list = re.findall(r'd+',html)

 for i in range(len(ip_list)):

 ip = ip_list[i]

 port = re.sub(r'|', '', port_list[i])

proxy = '%s:%s' %(ip,port) proxy_list.append(proxy) return proxy_list

经过测试,访问的成功率还是很高的,提高访问成功率的关键点在于选择优质代理。以上只是浅显的分享。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/220217.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号