用代理ip和动态UA实现简单的反爬

2021年12月27日

最近因为一些原因需要小爬一下JD,数据量也不大,但是遇到了反爬,简单记录一下解决方法。

代理IP

如果用同一个IP短时间内对一个网站的API发送多个请求,很容易就会被发现并且禁止浏览,这个时候就需要使用代理IP,常见的代理方法有这么几种:

  1. 从网络上收集一些免费代理IP,然后建立成一个代理池,每次随机取出一个IP进行请求。
  2. 购买付费代理API,对这个API发送请求时,得到的响应是代理IP和端口,其实和1是类似的。
  3. 购买付费的隧道代理,隧道代理会对请求进行动态转发,效果更好,当然价格也更贵。

如果用 Python 的 Requests 库写爬虫时需要用到代理,只需要给请求加上一个 proxies参数即可。

import requests

proxies = {
  'http': 'http://10.10.1.10:3128',
  'https': 'http://10.10.1.10:1080',
}

requests.get('http://example.org', proxies=proxies)

动态UA

网上找了一个可以自动生成各式各样假数据的库——faker,当然这里用到的只有假UA这一个功能。

from faker import Faker

fake = Faker()
Faker.seed(0)
for _ in range(5):  # 生成5个随机UA
print(fake.user_agent())

相关推荐

Image
2021年10月27日
购买相关问题

Contents1 如何试用?2 是否支持开发票?3 是否支持对公转账?4 购买后可以退款?5 包天、包月、包 […]

Image
2021年12月29日
1分钟识别高匿HTTP代理IP

常看到许多人会问:使用了代理IP,爬虫为什么还会被限制?在日常工作时做爬虫的过程中经常会遇到这样的情况,最初爬 […]

轻松上手!

单击此处通过 1 天免费试用来测试 蜜蜂代理 的代理IP!

立即开始

立即开始您的1天免费试用!

微信客服