为什么微信公众号难抓取?

2020-11-14 11:08:11 +08:00
 liuser666

我看 rsshub 说微信公众号难抓取, 但是用 safari 和 chrome 浏览器都可以不登陆直接浏览啊... 有什么特殊的技术让微信分辨爬虫吗? 大不了我用 puppeteer 等一些模拟浏览器就是咯.

6433 次点击
所在节点    问与答
18 条回复
anonymous2022
2020-11-14 11:10:20 +08:00
难在获取历史文章链接吧
EasonC
2020-11-14 11:51:57 +08:00
微信的文章选择在浏览器打开又不难,你试试在浏览器看微信公众号全部的文章。我抓取都失败了。别折腾了,你搞不到的,搞到也不会和微信同步更新。
westoy
2020-11-14 12:26:15 +08:00
上了规模就难了
需要大量的手机
需要海量的帐号(以及手机号码)
需要大量不同出口的 IP
opengps
2020-11-14 12:32:46 +08:00
抓取是很简单的,不是问题所在
问题是,你缺少索引页,导致没有批量入口。穷举的代价又比较大,所以也就不适合使用
opengps
2020-11-14 12:35:00 +08:00
搜狗能检索微信文章,这一点已经说明问题了:
要么搜狗拿到了索引,要么微信主动讲文章链接送给搜狗。搜狗肯定不是自己去“不经允许”爬取的,这里各位爬虫大佬们要小心法律风险
buffzty
2020-11-14 14:28:34 +08:00
微信 pc 端 微信浏览器可以浏览公众号的所有文章. 调用 api 要用到登陆后获取到的一个参数. 调用文章类的 api 有限速. 如果多账号 多 ip 再逆向微信 pc 端 是可以做成这个产品的. 但是谁敢呢 南山必胜客不治你吗. 我公司就算让我做 我都不会做的,现在市面上没有这种产品.不是他们技术不行 马哥劝你 耗子尾汁
cmdOptionKana
2020-11-14 14:59:02 +08:00
@opengps 搜狗宣布,签订最终私有化协议,将成为腾讯全资子公司,预计交易将在 2020 年第四季度完成。完成后,搜狗将从纽交所退市。
Maskeney
2020-11-14 17:35:35 +08:00
微信重新实现了 TLS,你可以试试自己抓抓包看,根本抓不到正确的 URL,更不用说抓公众号文章了
junan0708
2020-11-14 17:46:20 +08:00
有第三方提供接口服务的,一年才 200 多,试了一下,数据还挺全的。
xiaoyazi
2020-11-14 17:47:59 +08:00
任何看得到的数据抓取都没难度,难的是数量级好不好
Tianyan
2020-11-14 20:25:06 +08:00
@anonymous2022 wemp.app 这个就是靠的抓取公众号获利的
milukun
2020-11-14 21:08:12 +08:00
曾经的经验给你简单分享一下,有几个知识点需要知道:
( 1 )微信文章有两种链接,临时链接和永久链接。在微信里打开的是永久链接,在搜狗里面搜索出来的是临时链接
( 2 )顾名思义,临时链接有时间限制,一般超过 6 个小时就无法打开显示链接已过期。但是放到微信里点又可以打开,因为微信使用了 key 进行了链接转换。
( 3 )这个 key 又分为万能 key (解任何文章,与你的微信账号相关联,有效期 2 小时)和公众号 key (只对单一公众号有效,有效期 2 小时)。key 不仅可以转换链接,还可以用来打开列表页。
( 4 )一个微信账号的万能 key 使用频繁会导致封号(无法转换、浏览文章)
( 5 )自 19 年开始搜狗不再根据时间顺序返回搜索结果,导致无法通过“关键词”查找最新文章,且未登录账号只能看到前 100 页的数据
( 6 )搜狗搜索公众号显示最近 10 条文章(目前已经不显示数据了),也是临时链接
( 7 )搜狗搜索微信出现验证码非常频繁
( 8 )使用手机或 pc 客户端可以查看公众号列表页,但是 pc 端需要先关注才能看到。这里能做的抓取方案是中间人攻击,但是别忘了你是用自己的微信号做的,你要考虑怎么自动化控制刷页面,最重要的是你能撑几个小时不被封号?以及你有多少实例,能花大价钱购买养好的微信号呢?(新号权重非常低,浏览列表页的数量很少,如果只看不养号,很快就被封了)
( 9 )可能有人说,不就是 python 发个 requests 请求吗?我手机刷一下列表页,找到 url,request body,模拟一下不就好咯。关于这一点你可以去看( 3 )和( 4 )

最主要的成本来自于,需要真实有效的微信号和批量操作。

综合以上成本,你倒不如选择有腾讯做股东的公众号数据分析平台-新榜(不是做广告哈)去买数据....
当然,数据二道贩子有很多,也有很多个人在卖,都比自己去搞定要低成本的多(学习除外)

另外未经授权抓取数据并贩卖是违法行为!
milukun
2020-11-14 21:09:24 +08:00
重点忘说了,chromedriver 也好,puppeteer 也好,甚至按键精灵也好,这些都逃不过微信号这一关的。
akaayy
2020-11-14 23:00:15 +08:00
@junan0708 求推荐这个第三方平台
Tink
2020-11-15 00:13:21 +08:00
入口
Tink
2020-11-15 00:16:06 +08:00
最靠谱的办法是找个摄像机对着手机屏幕,手机自动打开微信里面的文章,然后摄像机逐行 OCR,然后入库
junan0708
2020-11-15 07:41:27 +08:00
@akaayy 天行数据
milukun
2020-11-16 18:31:26 +08:00
@Tink 可以直接用 fd 或者 charles 做中间人攻击,直接拿到所有请求的 body,写个规则过滤一下,直接拿到 json 数据不香吗

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

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

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

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

© 2021 V2EX