Python:常见反爬策略及应对方案汇总

发布时间:2020-08-16 13:31:23 作者:千锋Python唐小强
来源:ITPUB博客 阅读:157

2019常见反爬策略及应对方案大汇总了。如果你对反爬虫的策略和手段还掌握的不很全面,进来学就对了!一切都是刚刚好,一切都不晚!

Python:常见反爬策略及应对方案汇总

1 . 构造合理的HTTP请求头。

from fake_useragent import UserAgent
ua = UserAgent()
ua.ie
# Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US);
ua.msie
# Mozilla/5.0 (compatible; MSIE 10.0; Macintosh; Intel Mac OS X 10_7_3; Trident/6.0)'
ua['Internet Explorer']
# Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; GTB7.4; InfoPath.2; SV1; .NET CLR 3.3.69573; WOW64; en-US)
ua.opera
# Opera/9.80 (X11; Linux i686; U; ru) Presto/2.8.131 Version/11.11
ua.chrome
# Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2'
ua.google
# Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/537.13 (KHTML, like Gecko) Chrome/24.0.1290.1 Safari/537.13
ua['google chrome']
# Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11
ua.firefox
# Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1
ua.ff
# Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0.1
ua.safari
# Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25
# and the best one, random via real world browser usage statistic
ua.random

2 . 检查网站生成的Cookie。

3 . 抓取动态内容。

4 . 限制爬取的速度。

5 . 处理表单中的隐藏域。

6 . 处理表单中的验证码。

from hashlib import md5
class ChaoClient(object):
 def __init__(self, username, password, soft_id):
 self.username = username
 password = password.encode('utf-8')
 self.password = md5(password).hexdigest()
 self.soft_id = soft_id
 self.base_params = {
 'user': self.username,
 'pass2': self.password,
 'softid': self.soft_id,
 }
 self.headers = {
 'Connection': 'Keep-Alive',
 'User-Agent': 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',
 }
 def post_pic(self, im, codetype):
 params = {
 'codetype': codetype,
 }
 params.update(self.base_params)
 files = {'userfile': ('captcha.jpg', im)}
 r = requests.post('http://upload.chaojiying.net/Upload/Processing.php', data=params, files=files, headers=self.headers)
 return r.json()
if __name__ == '__main__':
 client = ChaoClient('用户名', '密码', '软件ID')
 with open('captcha.jpg', 'rb') as file: 
 print(client.post_pic(file, 1902))

7 . 绕开“陷阱”。

8 . 隐藏身份。

yum -y install tor
useradd admin -d /home/admin
passwd admin
chown -R admin:admin /home/admin
chown -R admin:admin /var/run/tor
tor
推荐阅读:
  1. python如何实现反爬
  2. python常见的反爬措施分享

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python 反爬 策略

上一篇:MySQL xtrabackup for centos7.2安装

下一篇:Oracle内建包UTL_FILE使用说明

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》