网络爬虫实例系列 —— 搜狗微信文章采集方案

优采云 发布时间: 2022-05-05 04:05

  网络爬虫实例系列 —— 搜狗微信文章采集方案

  微信和搜狗合作推出微信搜索后,让各家媒体检测平台如获珍宝,终于可以获取到微信的文章数据了;但好景不长,由于大家基本只有这一个接口来获取微信的数据,导致搜狗的压力倍增,先后出现减少返回搜索结果条数,反爬虫输入验证码的情况,导致大家又都很难抓取微信数据;不过后来搜狗又针对登录用户推出了关键字订阅功能,结合这些情况,下面梳理了采集搜狗微信文章的两个方案,仅供参考。

  方案一:利用搜狗微信文章搜索接口

  调用如下的URL便可访问搜狗微信关键字搜索文章的结果,其中参数query为搜索关键字,值为UTF-8编码的字符串。该URL返回发结果为10条文章的搜索结果,可以直接解析到搜索出的文章名、文章URL、公众号及摘要等信息。修改page参数的值,便可以进行翻页,得到更多的搜索结果。

  %E7%BD%91%E7%BB%9C%E7%88%AC%E8%99%AB&sut=13695&lkt=0%2C0%2C0&type=2&sst0=68&page=1&ie=utf8&w=01019900&dr=1

  优点:

  实现简单,搜索的结果和关键字匹配程度比较高

  缺点:

  最多只能翻10页,而且网站反爬虫导致屏蔽比较严重

  方案二:利用搜狗微信提供的关键字订阅接口

  在搜狗微信中,对于登录的用户,搜索的关键字可以添加到订阅列表中,下次可以直接查看自己订阅关键字相关的文章。该功能限制每个登录用户最多可以添加20个订阅关键字。

  A. 下面这个URL为获取登录用户已经订阅关键字的列表,其中包括关键字和对应的wordId,该ID可以用于后续访问该关键字在订阅中相关的文章。其中登录用户的标识是注册的帐号,一参数uid传入。

  uid=yongzhong15%&_=28

  B. 下面这个URL为指定的帐号添加订阅关键字的接口,通过该接口,可以填加帐号订阅的关键字。

  uid=yongzhong15%&word=%E5%9B%BE%E8%AE%BA&_=71

  C. 下面这个URL为指定的帐号删除指定的关键字,其中关键字是指订阅关键字列表中对应的wordId来指定

  uid=yongzhong15%&id=49529&_=72

  D. 下面这个URL返回指定用户订阅的其中一个关键字的文章列表,其中文件列表根据start参数进行翻页,关键字是使用wordid来指定。

  uid=yongzhong15%&start=0&num=10&wordid=49528&clear=1&_=41

  根据以上A/B/C/D四类API接口,便可以查询注册的帐号下的订阅关键字列表,添加、删除帐号下的关键字,并可以获取到各个订阅关键字对应的文章信息。

  优点:

  订阅API由搜狗官方免费提供,不会被屏蔽

  缺点:

  每个帐号最多只能订阅20个关键字,使用不方便;而且对于每个关键字,返回的文章个数远少于直接从搜索接口搜索到的相关文章数,即获取到的数据不全。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线