Python 爬虫尽量不被发现策略

1. 不要用一个IP狂爬

所以要准备一堆可用的代理IP,如果公司有额外的比较闲的IP最好了,闲着也是闲着,在不影响正常业务的提前下,多换IP。否则就要想办法获取免费代理。

2.勤换UA

很多人喜欢在配置中列一些UA, 其实吧,可以使用python库--fake-useragent,当然需要先pip安装。其实我也推荐大家伪装成各大搜索网站的UA,比如GoogleUA 有这样一些Google抓取工具,说到这里,有的网站你添加referfer字段是搜索网站也是有用的,因为网站是希望被索引的,所以会放宽搜索引擎的爬取策略。

fake_useragetn 实例测试

from fake_useragent import UserAgent 

ua = UserAgent()
ua.update()
try:
    ua = UserAgent()
except FakeUserAgentError:
    pass
print(ua.ie)
print(ua.firefox)
print(ua.safari)
print(ua.random)
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/4.0; GTB7.4; InfoPath.1; SV1; .NET CLR 2.8.52393; WOW64; en-US)
Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:27.0) Gecko/20121011 Firefox/27.0
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4
Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36

3、爬取间隔自适应

就是已经限制了你这个IP的抓取,就不要傻傻重复试,怎么滴也得休息一会。网易云音乐操作起来比较简单,sleep一下就好了。其实sleep的间隔应该按情况累加,比如第一次sleep10秒,发现还是被约束。那么久sleep 20秒... 这个间隔的设置已经自适应的最终效果是经验值。

4、验证码识别

现在攻防让验证码技术层出不穷,其实好多都是自己写算法识别,并不开源,开源的就是tesseract,还可以借用百度识图平台试试。我个人还是倾其所有的做好其他的地方,不要让人家弹出验证码让我输入。


你可能感兴趣的:(Python)