本站消息

站长简介/公众号


站长简介:逗比程序员,理工宅男,前每日优鲜python全栈开发工程师,利用周末时间开发出本站,欢迎关注我的微信公众号:程序员总部,程序员的家,探索程序员的人生之路!分享IT最新技术,关注行业最新动向,让你永不落伍。了解同行们的工资,生活工作中的酸甜苦辣,谋求程序员的最终出路!

  价值13000svip视频教程,python大神匠心打造,零基础python开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2021-03(4)

2021-04(4)

如何用爬虫增加网站访问量

发布于2021-10-12 16:21     阅读(41)     评论(0)     点赞(0)     收藏(0)



我们在日常访问目标网站的时候或多或少都是会遇到网站对爬虫程序进行限制的,所以今天小编主要和大家分享下如何更详细的了解网站的反爬机制。题目不是我们最终的目的,而真的想要更高的阅读量还是需要程序做好足够的反扒策略加上优质的代理才能达到的,以下分享几种网站的反爬机制.

1. 通过Headers反爬虫

从用户请求的Headers反爬虫是最常见的反爬虫策略。很多网站都会对Headers的User-Agent进行检测,还有一部分网站会对Referer进行检测.如果遇到了这类反爬虫机制,可以直接在爬虫中添加Headers,将浏览器的User-Agent复制到爬虫的Headers中;或者将Referer值修改为目标网站域名并且最重要的是我们的User-Agent越多越丰富会更好。

2. 基于用户行为反爬虫

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

大多数网站都是前一种情况,对于这种情况,使用IP代理就可以解决。因此从专门的提供代理ip的商家购买代理是个比较好的方法。

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

3. 限定某些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'<td>\d+</td>',html)

for i in range(len(ip_list)):

ip = ip_list[i]

port = re.sub(r'<td>|</td>', '', port_list[i])

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

通过测试代理ip的成功率还是很高的,所以我们在这种业务上需要提高访问成功率的关键点在于选择优质代理。以上只是浅显的分享,大家有哪些更好的建议可以留言分享呀!







所属网站分类: 技术文章 > 博客

作者:yiniuyun

链接:https://www.pythonheidong.com/blog/article/1056435/5d60d83591d43ee9c53c/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

0 0
收藏该文
已收藏

评论内容:(最多支持255个字符)