2019-02-21

爬取微信公众号文章的经验总结

爬取微信公众号的文章不少,但是现在爬取微信公众号越来越难了,微信对于这方面管控是越来越严,之前的很多经验都不能用了,记录下年前年后爬取微信公众号的一段经历,代码就不贴了,这里只讲思路:

1、这是运营那边的需求,爬取50多个微信公众号的文章,内容包括标题,作者,图片url,文章url,概述,截取文章开头约400文字(后来定下的),爬取的微信文章要最新的,后来商量定下爬取24小时内的文章;

2、当时领导告知可以在微信搜狗爬取这些内容,这个之前就知道,难度应该不大,写了简单的访问页面后出现了验证码的问题,这个是搜狗的验证码,不是微信文章的,这是第一个遇到的小问题,后来沟通后才知道运营那边下午才要,那就慢慢访问好了,5分钟访问一个就行了吧,这样就写了最初的脚本,访问虽然慢,能够满足要求,爬到下午基本就爬取完了;

3、遇到的第二个问题是微信的url竟然是临时的,有signature=..., 直接感觉这个要过期的,网上一查果然是的,好像12个小时就过期的,url是临时的肯定不行啦,那就继续想办法,在网上找别人爬取的经验,有说新榜可以转链的,去试了2个竟然都失败了,过了年后再转是OK的,但转链蛮贵的,1榜豆/元,查一次0.5榜豆,开始会送10榜豆,这个行不通,而且从搜狗爬取再去转链太麻烦了,写这样一个脚本也不容易;

4、试了网上提供的不同方法后,从微信公众号后台爬取是可行的,首先要注册微信公众号,微信公众号登录要输入账号和密码,输入后还要微信扫描才能登录,这个是最坑爹的,也是我花了很多时间在这个上面到最终还是放弃这样爬取的原因,从微信公众号后台怎么爬取的文章很多,去网上搜下就可以了,我就不详细讲了,访问频率不要太高,就不会跳出访问太频繁的问题,可以从头到尾爬下来,没问题,挂到服务器上也跑起来了,但是保持session有问题,怎么也不能保证一直是登录状态,过了十几个小时session就会过期,每天要扫描登录一次那肯定是不行的;

5、再找方法,领导转了篇文章给我,文章url: https://blog.csdn.net/ooim802/article/details/54583008, 里面也是提到微信搜狗上爬,对方还提供了如何将临时临时链接转为永久的方法,这个是不可行的,不过新榜上可以搜公众号,这个倒是没想到的,又看到了希望,忙了一下午,又发现新的问题了,有些公众号不能在新榜公开数据,还有些搜不到的公众号(后来知道这些搜不到的可以冲榜,收录后过几天也可以看到文章了);

6、后来与运营同事沟通,新榜更致命的问题在于文章的滞后性,大概要滞后1.5天时间,而我们要的是能爬取24小时内最新的文章,那新榜这条路也行不通;

7、话说柳暗花明又一村,在爬取微信公众号这么长时间以为很难解决的时候,运营同事提供了另外一个网站西瓜助手,这个网站提供的文章都是比较新的,更新时间滞后几个小时不等,能够满足要求,这让问题一下得到了解决,微信公众号后台爬取的脚本都写好了,要爬取西瓜助手这个网站还不是小菜一碟。

总结:

这次爬取微信公众号颇费周折,不过最后结果是满意的,这次经验也让我意识到,还是要多沟通,有些问题多沟通了就会打开思路,问题说不定就此解决了。

你可能感兴趣的:(2019-02-21)