爬取微信公众号文章方案汇总

原创 2018年04月17日 09:59:47

1、爬取公众号文章接口

现在有两个地方可以搜索微信公众号文章,一是搜狗的微信搜索(weixin.sougou.com/

 

可以搜文章,也可以搜公众号。未登陆的情况下搜文章的只能显示十页内容,每页有10篇文章。搜公众号的话只会显示最近10篇文章。登录的情况下搜文章可以显示所有文章,搜公众号依然是显示最近10篇。

 

第二个接口就是个人微信公众号的素材库可以添加其他公众号文章链接,这个是必须要登陆。登陆后会显示公众号所有历史文章,以及可以按关键字搜索。



2、爬取思路

1模拟登陆搜狗微信搜索,然后输入关键字+股票查询所有相关公众号文章。首先利用fiddler抓包。

搜狗公众号搜索登陆流程

 

请求登录二维码

https://open.weixin.qq.com/connect/qrconnect?appid=wx6634d697e8cc0a29&scope=snsapi_login&response_type=code&redirect_uri=https%3A%2F%2Faccount.sogou.com%2Fconnect%2Fcallback%2Fweixin&state=4a96cf60-a299-4944-afca-00750f902940&href=https%3A%2F%2Fdlweb.sogoucdn.com%2Fweixin%2Fcss%2Fweixin_join.min.css%3Fv%3D20170315

返回

 

jQuery.ajax({type:"GET",url:"https://long.open.weixin.qq.com/connect/l/qrconnect?uuid=061zm-EBn-ERrwOO"+(d?"&last="+d:""),dataType:"script",cache:!1,timeout:6e4,success:function(d,e,f)

</script>

</body>

</html>

 

其中包含uuid用于请求二维码以及二维码中包含的网址

https://open.weixin.qq.com/connect/qrcode/061zm-EBn-ERrwOO

然后会一直向后台询问是否扫码

 

扫描二维码后的网址

https://open.weixin.qq.com/connect/confirm?uuid=061zm-EBn-ERrwOO

手机访问网址

https://open.weixin.qq.com/connect/confirm?uuid=081fNCdpIM5RqahA&key=76210943d833863f19d9ff6a7288b4acbef1ca4f97142ad1b0b02f896ae60d80111257bcc8d5d542ccd85bbaf8d8a41b88d8389151a457923295756546ea4b3ce6c22e2818db4d99af6f301f2cdecf13&uin=Nzg1NzA5MjEw&lang=zh_CN&pass_ticket=8hkj7OqKS8R%2Ftgg9jQ5ktZnN4W1Ak1ivuoHyBppvrqHFw67VHRdu5N%2BRKu9lU%2Bid

点确定登陆成功

https://open.weixin.qq.com/connect/confirm_replypass_ticket=8hkj7OqKS8R%2Ftgg9jQ5ktZnN4W1Ak1ivuoHyBppvrqHFw67VHRdu5N%2BRKu9lU%2Bid&key=76210943d833863f19d9ff6a7288b4acbef1ca4f97142ad1b0b02f896ae60d80111257bcc8d5d542ccd85bbaf8d8a41b88d8389151a457923295756546ea4b3ce6c22e2818db4d99af6f301f2cdecf13&uin=Nzg1NzA5MjEw&uuid=081fNCdpIM5RqahA&snsapi_login=on&allow=allow

 

 

下面就利用webdriver模拟登陆,就是用webdriver打开登陆界面点击登陆,但需要自己扫码。登陆后获取所有cookie信息交给webmagic爬取关键字。

 

(2)模拟登陆个人微信公众号,搜索所有公众号历史文章

个人微信公众号登录流程

1.请求登录

请求 https://mp.weixin.qq.com/cgi-bin/bizlogin?action=startlogin

2.输入账号密码登录

https://mp.weixin.qq.com/cgi-bin/bizlogin?action=validate&lang=zh_CN&account=1499957726%40qq.com

3.请求获取二维码

request line:GET https://mp.weixin.qq.com/cgi-bin/loginqrcode?action=getqrcode¶m=4300&rd=120 HTTP/1.1

4.轮训访问是不是手机认了

扫码并同意访问

失败情况:status!=1

request line:GET https://mp.weixin.qq.com/cgi-bin/loginqrcode?action=ask&f=json&ajax=1&random=0.72205102949145856 HTTP/1.1

成功情况:status=1

请扫码并同意访问

request line:GET https://mp.weixin.qq.com/cgi-bin/loginqrcode?action=ask&f=json&ajax=1&random=0.5624547854744200 HTTP/1.1

5.确定登录,目的获取token

request line:POST https://mp.weixin.qq.com/cgi-bin/bizlogin?action=login HTTP/1.1

6.登录成功,获取指定公众号信息 目标获取fakeid

request line:GET https://mp.weixin.qq.com/cgi-bin/searchbiz?action=search_biz&token=608398971&lang=zh_CN&f=json&ajax=1&random=0.56995298448885424&query=girlnba&begin=0&count=5 HTTP/1.1

方法与上述一样,需要人工扫码。

 

(3)模拟扫码

 

上两种方法每次都是需要登录时人工扫码,然后程序接着运行。所以就想能不能模拟手机扫码登录。Fiddler抓包发现每次请求登录二维码,二维码中包含的URL都会随机带一个qrticket。而且这个qrticket有过期时间,一定时间不登录就失效。

接下来当需要扫码时,选择页面元素获取二维码请求地址,利用URLConnection将二维码下载到本地,利用解码程序zxing获取二维码中的连接,模拟手机登录。

报错:

这只能使用代理模拟手机登录,或者拦截手机的登录请求,目前还没做。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yixiao1874/article/details/79970432

python爬取公众号文章

跟着网上一教学视频编写爬取公众号文章,代码结构如下:login.py是登录模块,cookies.txt是登录获取到的cookie信息,cookie.py是解析cookie文件,登录公众号并查询公众号文...
  • liangzhiming12
  • liangzhiming12
  • 2018-03-09 11:25:39
  • 173

用于批量爬取微信公众号所有文章

#微信公众号批量抓取工具 ##运行环境 需要安装Python 3.5 如果运行2.7的会出现一点小bug 目前暂时没有精力改成2.7版本 关于安装库,我用的都是标准的,如果连reque...
  • THMAIL
  • THMAIL
  • 2017-06-27 10:58:47
  • 3203

用python爬取微信公众号文章

本文通过微信提供的公众号文章调用接口,实现爬取公众号文章的功能。
  • d1240673769
  • d1240673769
  • 2017-07-23 13:31:30
  • 11884

微信公众号文章爬取方法整理

微信公众号文章爬取方法整理1.用python爬取 http://blog.csdn.net/d1240673769/article/details/75907152 实现方法:通过微信提...
  • zsyoung
  • zsyoung
  • 2018-01-04 15:26:05
  • 2376

舆情监控系统——step1.爬取微信公众号文章

小明酱于2018年元旦更新,写的还是很糙,如果你在爬虫问题中遇到问题,欢迎交流哦,评论区随时为你开放! 实习两周过去了,目前任务量还不是很大。我的老板很nice,是个军校生,给我安排的任务也比我预想...
  • alicelmx
  • alicelmx
  • 2017-12-22 09:34:15
  • 964

微信公众号爬虫 (支持全自动化批量爬取微信公众号所有文章 Go语言实现)

  • 2017年04月06日 17:41
  • 81KB
  • 下载

python scrapy爬取微信公众号文章的爬虫

微信公众号文章爬取器 从搜狗微信公众号入口爬取公众号新闻列表 支持爬取新闻标题、Icon、作者、时间等 支持文章内容图片下载替换 支持去掉含有二维码的图片 支持去掉带有超链接的html 标签...
  • humanbeng
  • humanbeng
  • 2017-09-07 10:35:53
  • 2453

python爬虫(17)爬出新高度_抓取微信公众号文章(selenium+phantomjs)(上)

抓取微信公众号的文章 一.思路分析 目前所知晓的能够抓取的方法有: 1、微信APP中微信公众号文章链接的直接抓取(http://mp.weixin.qq.com/s?__biz=MjM5MzU4OD...
  • qiqiyingse
  • qiqiyingse
  • 2017-04-11 12:09:34
  • 25045

记一次微信公众号爬虫的经历

已经在慢慢开发这个API,可查看我的Github地址 需求 某某微信公众号历史的所有文章的阅读数和点赞数 难点 微信公众号历史的所有文章(来源???) 每篇文章的阅读量和点赞量(电脑上浏...
  • wnma3mz
  • wnma3mz
  • 2017-11-18 19:19:53
  • 5746

Python批量爬取微信公众号文章中的图片

总体说明:微信公众号的文章也是个普通的网页。 下面的代码以微信公众号“Python小屋”的文章1900页Python系列PPT分享三:选择与循环结构语法及案例(96页) 为例,爬取其中的图片并保...
  • oh5W6HinUg43JvRhhB
  • oh5W6HinUg43JvRhhB
  • 2017-11-08 00:00:00
  • 423
收藏助手
不良信息举报
您举报文章:爬取微信公众号文章方案汇总
举报原因:
原因补充:

(最多只允许输入30个字)