搜狗微信的反爬虫策略又升级了

2015-10-10 11:15:57 +08:00
 macken

继前不久升级反爬策略以后,又来了一次打升级,躺枪一片,非登陆情况下,新的策略使用了服务端生成验证串的方式,要破解很难,除非能破解加密算法了。大家有什么研究?

15518 次点击
所在节点    程序员
35 条回复
pc10201
2015-10-10 13:13:35 +08:00
用浏览器模拟,加大量代理 IP
macroideal
2015-10-10 13:17:46 +08:00
道高一尺, 魔高一丈
macken
2015-10-10 13:24:19 +08:00
@pc10201 不是模拟的问题
ljcarsenal
2015-10-10 13:53:34 +08:00
为什么都要做微信相关的爬取呢
skip11
2015-10-10 13:53:52 +08:00
1.登录
2.模拟浏览器获取那个串

我也是昨天才发现临时更新的算法
macken
2015-10-10 13:54:06 +08:00
@ljcarsenal 好玩
macken
2015-10-10 13:55:16 +08:00
@skip11 国庆期间更新的 登录是一个方法,那个串是与帐号相关的,获取以后再抓取数据成本太高了
sohoer
2015-10-10 13:58:40 +08:00
我不知道是不是通过搜狗抓取,如果是那就是 ext 这个参数,这个参数会失效需要隔段时间获取一次
skip11
2015-10-10 14:00:35 +08:00
@macken 我有几天没看了,我是自己抓过来离线读,具体什么时候更新的不是很清楚,@sohoer,楼主应该说的就是 ext ,失效模拟一下就好了,目前还不难,不知道搜狗后续会更新什么手段
Moker
2015-10-10 14:02:31 +08:00
前端时间就不行了
加代理 IP 和降低频率 目前估计只能这样
macken
2015-10-10 14:42:40 +08:00
@sohoer @skip11 是 ext,怎么模拟?我试过用搜索的方式获得 ext ,但是这种方法太麻烦了
johnsneakers
2015-10-10 15:38:31 +08:00
现在就是一个 302 而已,你多请求一次拿到 302 的地址就可以了
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;
}
macken
2015-10-10 17:01:24 +08:00
@johnsneakers 恩,这是上一次升级后出现的问题,这次升级增加了 ext 验证
fishlee
2015-10-10 17:18:57 +08:00
还没试过这方法,有空搞搞看
johnsneakers
2015-10-10 18:10:02 +08:00
@macken 我刚试了,是可以的
macken
2015-10-10 18:40:55 +08:00
@johnsneakers 这种方式是可以拿到最终的文章 url 的,我遇到的问题是直接访问 http://weixin.sogou.com/gzh?openid=oIWsFtzDjnBIlyxXFCgp7hAApCeM 是无法访问的,必须是这种方式才可以访问 http://weixin.sogou.com/gzh?openid=oIWsFtzDjnBIlyxXFCgp7hAApCeM&ext=Uc8g8yaxQpH6htELFQfGDr3PzTLZg-34eXRrntsODlbP32F_9hAQlNM8VKlUG_IA url 里面的 ext 是刚加的验证机制
yepinf
2015-10-10 21:42:51 +08:00
之前用 qwebkit 爬,一直很稳定
换工作之后,就没继续做下去了
icedx
2015-10-10 21:43:27 +08:00
搜狗微信 是啥?
blue7wings
2015-10-11 10:39:52 +08:00
我在想, sogou 的微信数据是官方给的嘛。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/226844

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX