代理 IP 理论上是从网站申请的高匿代理,写的爬虫程序是判断某个 IP 被封了后换一个代理 IP 继续爬。
response=requests.get(url,proxies=proxy).text
但是之后发现爬久了之后返回的 response 是 403 的页面,不用代理 IP 也是 403,难道是发现了我自己主机的 IP 吗?(代理 IP 是可用的)
1
abcbuzhiming 2017-06-10 16:12:37 +08:00
发现了你的行为是爬虫然后直接封你的代理 ip 而已,现在很多网站都有根据日志进行行为分析的能力,绝大部分人的写的爬虫行为都太机械,操作时间固定严格精确,稍微分析一下就明白操作者不是人类。
|
2
prasanta 2017-06-10 16:22:52 +08:00 3
豆瓣一定很气,明明有接口,还是这么多人爬
|
4
cnta OP @abcbuzhiming 但是我的代理 IP 换了也还是被封了,是可以认为使用的代理 IP 没有访问过豆瓣的网页的情况下也被 403 了
|
6
ericFork 2017-06-10 16:57:15 +08:00
豆瓣好可怜,好多学爬虫的新手都拿豆瓣做练手对象
|
7
cnta OP @ericFork 我是学数据库原理做课设想采集点数据 orz 要求百万条数据左右(本来打算生成),觉得既然如此就采集点真正有意义的数据好玩些--
|
8
kkx 2017-06-10 17:02:36 +08:00 via iPhone 1
user agent 都不加 --
|
9
cnta OP @kkx 明白了,确实没加 user agent。这里面会暴露出自己用 python 请求网站的信息。应该这里和原因有很大关系,谢谢。但是奇怪的是,如果是按照这个原因来防止爬虫的话,为啥不在开始的时候就 403 呢?而是在我爬取了大概 20 分钟后,对我所有的 ip 进行 403
|
10
kkx 2017-06-10 17:25:47 +08:00 via iPhone
@cnta 达到了豆瓣的规则的 limit 了吧 这种属于最基本的 一行代码的事 实时的 有的网站有很多高级的玩法 什么 beacon 啊 javascript 执行啊 路径历史判断啊 到最后只好开一个 selenium 完全拟人操作
|
12
LeoEatle 2017-06-10 19:05:16 +08:00 via iPhone
豆瓣确实有接口,但是使用要求比较高,个人开发者现在是不开放的
|
13
dsg001 2017-06-10 19:56:38 +08:00
90%以上的爬虫 demo 都是豆瓣
|