伪装了 user-agent (有个 user-agent list ,随机从里面取一个),爬取频率 20 秒一次, tor 开了 100 个端口,也存储了好多的 cookie ,每次 get 请求都随机从 tor 的端口和 cookie 中取一个,但是还是大范围的 403 。
我怀疑是获取 cookie 时没有用 socks5 代理?导致暴露了 ip ?可问题是我用的 requests 不支持 socks5 代理, requesocks 是支持了,但是没法获取 cookie (因为 requesocks fork 的 requests 版本太低了)
有没有什么解决办法?
1
linhua 2015-11-21 00:22:43 +08:00 1
http 代理-->GAE 代理-->xx-net
https://github.com/XX-net/XX-Net |
2
gaotongfei OP @linhua 可以每次 get 就更换一个 ip 吗?
|
3
linhua 2015-11-21 01:15:15 +08:00 1
|
4
linhua 2015-11-21 01:18:44 +08:00
@gaotongfei
不过出口 ip 和 google ip(入口 ip)是不一样的,你架设好代理后,查询一下 ip 就明白了。 |
5
ericls 2015-11-21 05:15:01 +08:00
IP 地址不是问题
DO 随便买个 VPS 都有 2^64 个 IP 一辈子都用不完 |
8
stockss 2015-11-21 07:33:41 +08:00 1
用 privoxy 把 socks 代理转化为 http 代理,就可以给 python 用了
|
9
Tianpu 2015-11-21 07:55:39 +08:00 via iPhone
很可能是某些出口被封了吧。
还有 curl 才是最好的,直接 tor 代理。 建议转 php 吧。 |
11
feather12315 2015-11-21 09:33:23 +08:00 via Android
@ericls ?不明白。 4 只有 1 个, 6 有 15 个呀
|
12
gaotongfei OP @stockss 想过用它,但是因为我 tor 开了 100 个端口,我担心对应 privoxy 要写 100 个配置文件,嫌麻烦就没用
|
13
gaotongfei OP @stockss
You can use this statement multiple times to make Privoxy listen on more ports or more IP addresses 查了下,好像可以在一个配置文件里把所有需要监听的端口都写出来。等会试试看。 |
14
FreeDog 2015-11-21 11:10:40 +08:00
@ericls 那些 IPv6 地址会被 Google 看成一个的。现在随随便便分配都是 /64 的块,判断逻辑也与时俱进了。
|
15
Arthur2e5 2015-11-22 01:17:09 +08:00
本身从 TOR 上 Google 正常搜索都经常要输验证码。
这种事情本来就该是问朋友借一排 SS 之类的玩法…… |
16
gaotongfei OP @Arthur2e5 也用过 ss ,从某网站买的九个账号,一开始都是 200 ,爬的久了还是 403 ,可能是九个还是太少了。不知道哪里有便宜的 ss 账号卖。
|
17
Arthur2e5 2015-11-22 11:23:34 +08:00 1
@gaotongfei 嘛,只要频率高了都会……所以我才会说出“借”(嗯,或者请吃顿饭?)这样的话,因为基本都是用个没多久就要换掉的。
|