爬虫与反爬虫
爬虫:我们为了获取任何信息而采用任何手段对某一网站进行的“攻击”行为,之所以称之为“攻击”行为,是因为我们对网站的爬虫过程会对网站造成不同程度的影响。而爬虫与我们手动点击抄取最重要的区别在于:批量。
反爬虫:网站为了维护自己的核心安全而采取的抑制爬虫的手段,反爬虫的手段有很多种,今儿在这儿我记录分享几个我在爬虫过程中遇到的反扒机制,并简单将反反爬虫的解决方法介绍一下。
常见的反爬机制
1. 基于User-Agent反爬
思想:服务器后台对访问的User_Agent进行统计,单位时间内同一User_Agent访问的次数超过特定的阀值,则会被不同程度的封禁IP,从而造成无法进行爬虫的状况。
解决方案
我提供给大家两种方案,
方案一:
将常见的User-Agent封装到一个.py文件中,命名为useragent.py
# 列表存储不同的User-Agent,这里仅示例三个,详情可百度百度搜索,链接在代码下方
ua_list = ['Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1',
'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0',
'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.3)'
]
他人为我们总结的常用User-Agent获取链接:https://www.cnblogs.com/zrmw/p/9332801.html
在爬虫过程中导入useragent.py文件,随机选择ua_list中的user-agent。
代码示例:
import random
# 导入自己定义的useragents.py中的ua_list
from