Python轻松抓取微信公众号文章
今天继续向 Python 头条添加数据信息,完成了微信公号的爬虫,接下来会继续通过搜狗的知乎搜索抓取知乎上与 Python 相关的文章、问答。微信公众号的文章链接有些是具有时效性的,过一段时间会变成参数错误而无法访问,但是我们发现从公众号后台点击过去得到的链接却是永久链接,其参数不会改变链接也不会失效,也就是说只要能够获得这些参数就可以得到永久链接。通过观察发现即使从搜狗搜索入口的有时效性的链接访问网页,其源码中也带有这些参数:
所以只要解析这几个参数,就可以构造出永久链接。
首先通过搜狗搜索入口,可以获取 Python 关键词搜索的结果,地址为:
HOST = 'http://weixin.sogou.com/' entry = HOST + "weixin?type=2&query=Python&page={}"
提取链接、标题和摘要信息:
import requests as req import re rInfo = r'<h4[\s\S]*?href="([\s\S]*?)".*?>([\s\S]*?)<\/a>[\s\S]*?<\/h4>\s*<p[\s\S]*?>([\s\S]*?)<\/p>' html = req.get(entry.format(1)) # 第一页 infos = re.findall(rInfo, html)
由于关键词搜索会在标题或摘要中产生特定格式的标签,需要过滤:
def remove_tags(s):return re.sub(r'<.*?>', '', s)
然后根据时效性链接获取文章内容,并从中提取参数信息:
from html import unescape from urllib.parse import urlencode def weixin_params(link):html = req.get(link)rParams = r'var (biz =.*?".*?");\s*var (sn =.*?".*?");\s*var (mid =.*?".*?");\s*var (idx =.*?".*?");'params = re.findall(rParams, html)if len(params) == 0:return Nonereturn {i.split('=')[0].strip(): i.split('=', 1)[1].strip('|" ') for i in params[0]} for (link, title, abstract) in infos:title = unescape(self.remove_tag(title))abstract = unescape(self.remove_tag(abstract))params = weixin_params(link) if params is not None:link = "http://mp.weixin.qq.com/s?" + urlencode(params)print(link, title, abstract)
看到文章最后,如果觉得此篇文章对您有帮助的话,麻烦点个赞再走哦~谢谢阅读
Python轻松抓取微信公众号文章相关推荐
- Python实现抓取微信公众号文章
本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章. 前言 对于抓取微信公众号文章主要通过代理ip抓包进行的操作,总会出现一些问题,以下问题导致无法抓包. ...
- python爬虫抓取微信公众号文章(含全文图以及点赞数、在看数、阅读数)
因工作需要写了一个微信公众号文章的爬虫程序,贴一下分享给需要的朋友. 首先是抓取文章的url链接,在反复研究之后找到的一个最简单的方法,不需要抓包工具.首先需要自己注册一个微信公众号,有微信即可绑定注 ...
- python公众号文章_Python 抓取微信公众号文章
起因是刷微信的时候看到一篇文章,Python 抓取微信公众号文章保存成pdf,很容易搜到,就不贴出来了 先用chrome登陆微信公众号后台,先获取一下自己的cookie,复制下来就行,解析一下转换成 ...
- java 微信文章评论点赞_使用fiddler抓取微信公众号文章的阅读数、点赞数、评论数...
1 设置fiddler支持https 打开fiddler,在菜单栏中依次选择 [Tools]->[Options]->[HTTPS],勾上如下图的选项: 单击Actions,选择Expor ...
- 记一次批量定时抓取微信公众号文章的实现
记一次批量定时抓取微信公众号文章的实现 抓取前的说明和准备 数据的抓取 批量抓取 定时抓取 对爬虫防抓取机制的一些解决办法 最后 抓取前的说明和准备 本次抓取的选择的语言是java,本文章不会将整个工 ...
- python 公众号文章发布_Python 抓取微信公众号文章
版权声明:此文章转载自 Yushneng PyHub 如需转载请联系听云College团队成员阮小乙,邮箱:ruanqy#tingyun.com 微信公众号的文章链接有些是具有时效性的,过一段时间会变 ...
- 利用搜狗抓取微信公众号文章
微信一直是一个自己玩的小圈子,前段时间搜狗推出的微信搜索带来了一丝曙光.搜狗搜索推出了内容搜索和公众号搜索两种,利用后者可以抓取微信公众号的最新内容,看了下还是比较及时的. 每个公众号都有一个open ...
- python爬虫(17)爬出新高度_抓取微信公众号文章(selenium+phantomjs)
个人博客请访问 http://www.x0100.top 一.思路分析 目前所知晓的能够抓取的方法有: 1.微信APP中微信公众号文章链接的直接抓取(http://mp.weixin.qq.com/s ...
- python抓取微信公众号文章及评论(附过程)
需求:抓取人民网微信公众号的文章和评论 使用工具: fiddler python3 微信pc客户端 破解过程: 首先 使用fiddler对微信pc端抓包,需要配置https证书,另外最好加个filte ...
最新文章
- 问题解决:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
- 王石:我每天都强迫自己做的一件事
- Spring Cloud GatewayAPI网关服务
- 用C++11 实现 thread pool
- 湖北大学 计算机考研,湖北大学考研难吗?一般要什么水平才可以进入?
- antdesignpro 重定向到登录页面_URL重定向跳转绕过
- OpenShift 4 之Knative(2) - 第一个Serverless应用
- 拓端tecdat|r语言有限正态混合模型EM算法的分层聚类、分类和密度估计及可视化
- 联想拯救者Y7000P的一些功能键
- 《西游记》的读后感4000字
- 常用电子邮箱格式怎么写?哪个邮箱最安全最好用?
- 大学英语综合教程二 Unit 8 课文内容英译中 中英翻译
- oracle linux 退格,oracle database for linux 不能使用退格键
- 手持式水质监测仪在污水处理中的应用
- Laravel验证器的使用
- 小程序wx.downloadFile下载pdf并保存
- 1497_费曼技巧之他人观
- 炒股怎么炒?新手怎么学炒股?
- CAD二次开发合并所有能合并的线
- 建矩阵力学奠基新量子论 不确定原理颠覆经典概念|量子群英传