继前不久升级反爬策略以后,又来了一次打升级,躺枪一片,非登陆情况下,新的策略使用了服务端生成验证串的方式,要破解很难,除非能破解加密算法了。大家有什么研究?
1
pc10201 2015-10-10 13:13:35 +08:00
用浏览器模拟,加大量代理 IP
|
2
macroideal 2015-10-10 13:17:46 +08:00
道高一尺, 魔高一丈
|
4
ljcarsenal 2015-10-10 13:53:34 +08:00 via Android
为什么都要做微信相关的爬取呢
|
5
skip11 2015-10-10 13:53:52 +08:00
1.登录
2.模拟浏览器获取那个串 我也是昨天才发现临时更新的算法 |
6
macken OP @ljcarsenal 好玩
|
8
sohoer 2015-10-10 13:58:40 +08:00
我不知道是不是通过搜狗抓取,如果是那就是 ext 这个参数,这个参数会失效需要隔段时间获取一次
|
9
skip11 2015-10-10 14:00:35 +08:00
@macken 我有几天没看了,我是自己抓过来离线读,具体什么时候更新的不是很清楚,@sohoer,楼主应该说的就是 ext ,失效模拟一下就好了,目前还不难,不知道搜狗后续会更新什么手段
|
10
Moker 2015-10-10 14:02:31 +08:00
前端时间就不行了
加代理 IP 和降低频率 目前估计只能这样 |
12
johnsneakers 2015-10-10 15:38:31 +08:00
现在就是一个 302 而已,你多请求一次拿到 302 的地址就可以了
|
13
johnsneakers 2015-10-10 15:41:14 +08:00
(PHP 版本)粘贴即可看到效果:
$url = "http://weixin.sogou.com/websearch/art.jsp?sg=CBf80b2xkgbhjl0x-hNnSEuCKYJJPsg_h-OjrOxHjU_vFtJfSKnjpz19wNWA5ILUTtJveGGSfLC6VBIRlwc6srq5lrLZ5gXykqfIRjtZWiJm_nQjhF6DEb6_H-c9J_ZynM4JG0XEf_vu4a6BXqY6ow..&url=p0OVDH8R4SHyUySb8E88hkJm8GF_McJfBfynRTbN8wisH87qPWS2UFAFG9qAbOBeXY6RLCSg2kRDYt5ROwiYPFLvkvBrfA0sgKbswv_WSNpL5BYLq2cVN2huY78d2DfqLtelzlOATJZYy-5x5In7jJFmExjqCxhpkyjFvwP6PuGcQ64lGQ2ZDMuqxplQrsbk"; echo sogou_weixin($url); function sogou_weixin($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); $data = curl_exec($ch); $Headers = curl_getinfo($ch); curl_close($ch); if ($data != $Headers) return $Headers["url"]; else return false; } |
14
macken OP @johnsneakers 恩,这是上一次升级后出现的问题,这次升级增加了 ext 验证
|
15
fishlee 2015-10-10 17:18:57 +08:00 via Android
还没试过这方法,有空搞搞看
|
16
johnsneakers 2015-10-10 18:10:02 +08:00 1
@macken 我刚试了,是可以的
|
17
macken OP @johnsneakers 这种方式是可以拿到最终的文章 url 的,我遇到的问题是直接访问 http://weixin.sogou.com/gzh?openid=oIWsFtzDjnBIlyxXFCgp7hAApCeM 是无法访问的,必须是这种方式才可以访问 http://weixin.sogou.com/gzh?openid=oIWsFtzDjnBIlyxXFCgp7hAApCeM&ext=Uc8g8yaxQpH6htELFQfGDr3PzTLZg-34eXRrntsODlbP32F_9hAQlNM8VKlUG_IA url 里面的 ext 是刚加的验证机制
|
18
yepinf 2015-10-10 21:42:51 +08:00
之前用 qwebkit 爬,一直很稳定
换工作之后,就没继续做下去了 |
19
icedx 2015-10-10 21:43:27 +08:00
搜狗微信 是啥?
|
20
blue7wings 2015-10-11 10:39:52 +08:00
我在想, sogou 的微信数据是官方给的嘛。。。
|
22
macken OP @blue7wings 应该是的 腾讯也投资搜狗了
|
23
macken OP |
25
cai314494687 2015-10-12 21:56:05 +08:00
@johnsneakers 提示:当前请求已过期,请点击重新加载 是什么回事?
|
26
johnsneakers 2015-10-13 09:55:34 +08:00
@cai314494687 url 地址换一个就好
|
27
cai314494687 2015-10-13 10:01:47 +08:00
|
28
johnsneakers 2015-10-13 10:56:06 +08:00
@cai314494687 哦,我和你不一样。 我爬的是搜索页, 取搜索结果列表里面的 url
|
30
bowbright 2015-11-15 16:52:08 +08:00
@johnsneakers 实验了你的代码,取到的 data 好像现在不对了。
<html> <head><title>400 Bad Request</title></head> <body bgcolor="white"> <center><h1>400 Bad Request</h1></center> <hr><center>nginx</center> </body> </html> |
31
g080166 2016-01-11 15:46:31 +08:00
请问这个问题后来有解决方案了吗?
|
32
g080166 2016-01-11 15:47:10 +08:00
搜狗一旦弄得多了,就让我输入验证码,已经被搞疯了,想问下有好心人提供下解决方案吗?
|