整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

10行代码爬取微信公众号文章评论

0 行代码就能把公众号文章评论爬下来,有点耸人听闻?如果我跟你说是用 Python 实现的,你可能会信了,因为 Python 确实很强大,写个简单爬虫真的只要几行代码就可以搞定,这次爬的是微信的数据,相对来说要麻烦一点。这里讨论的是如何爬自己公众号下面文章的评论,有人说别人文章能抓取吗?理论上都可以,但凡是你能看到的都可以爬,不过,这篇文章讨论的是自己文章,思路都是相通的,希望本文可以给你一些启迪。

1、获取Cookie

因为是爬自己微信号文章里面的评论,首先你需要登录公众号后台,登录后才能看到文章的评论,登录就会涉及到 cookie,发起请求时只有带上 cookie 才能得到正确的数据。所以第一步就是把 cookie 信息取到。

打开 Chrome 浏览器你会看到发送请求时会自动把 Cookie 信息发送给微信,我们就把这段 Cookie 数据拷贝出来,用 Python 构建一个 Cookie 对象,给 requests 使用。

from http.cookies import SimpleCookie

raw_cookie = "gsScrollPos-5517=; ..中间还省略很多... bizuin=2393828"

cookie = SimpleCookie(raw_cookie)

requests_cookies = dict([(c, cookie[c].value) for c in cookie])

r = requests.get(url, cookies=requests_cookies)

2、构造URL

打开任意文章的评论列表,你会发现它的 URL 结构非常清晰,根据名字基本能判断每个参数的意义,这里比较重要的参数是 begin,它是作为分页的起始位置,其实它固定不变就好

url = "https://mp.weixin.qq.com/misc/appmsgcomment?" \

"action=list_comment&" \

"mp_version=7&" \

"type=0&" \

"comment_id=2881104117&" \ # 被评论的文章ID

"begin=0&" \ # 分页参数

"count=10&" \ # 每次返回10条评论

"token=1300595798&" \

"lang=zh_CN"

3、抓取数据

把 Cookie 和 URL 都搞清楚了,就可以把模拟浏览器抓取数据并进行清洗,开始想着用 BeautifulSoup 来解析网页,结果失败了。

查找了原因,把爬下来的页面另存为 html 文件,在 html 源代码文件中找留言里面的关键字,发现评论并没有在 div 标签中,而是存在于一段 JS 代码块中,看起来像 JSON 数据,看来数据是在本地用 JavaScript 渲染后显示的。

于是改用正则表达式,截取需要的数据,最终存储数据库,差不多10代码搞定。

def main():

# 普通留言, 精选留言总数

normal_count, selected_count = 141, 100

# 普通留言url

normal_url = "https://mp.weixin.qq.com/misc/appmsgcomment?"

dd = dict([(normal_count, selected_url)])

for k, v in dd.items():

crawler(k, v)

def crawler(count, url):

for i in range(0, count, 10):

r = requests.get(url.format(begin=i), cookies=requests_cookies)

match = re.search(r'"comment":(\[\{.*\}\])', r.text, re.S)

if match:

data = json.loads(match.group(1), encoding="utf-8")

conn.insert_many(data)

time.sleep(1)


文章作者:刘志军

文章来源:Python之禅

,这就是最近,很火的公众号图文弹幕,已经看到很多微信公众号在发弹幕了。

木木在闲暇时,也玩了一下,就是上面所示了。

其实,这个也是利用HTML代码来实现的,基本上就是网页上可实现的效果图文化,当然前提是用的微信公众号可兼容的一些代码元素。这里是用得SVG标签,非常厉害的一个标签,能够实现的效果很多,这样滚动弹幕只是一小点,有兴趣的可以去了解。

这里,就结合代码给大家简单介绍一下。大家可以根据代码做对应的调整,做出自己想要的微信公众号图文弹幕。

下面就是实现这个效果的后台代码:

我简单标注了一下,第一个红框里面的大家基本不用管,就是第2-5行,大家可以对应调整一下弹幕界面的边框、上下边距和宽度。

然后,第12/13行,大家可以调整弹幕效果区域的宽和高度,至于单位,大家用像素PX和em都是可以的。(1em=16px)

接着,第二个红框就是每一个滚动的字幕了。从就是一段弹幕文字的代码,一个这样的区域就是一段文字。其中Y、X是控制文字的起始位置,fill是控制文字颜色,font-size是文字大小,这些大家都可以自行调整。

最后我单独又标出来一个框,因为这个是弹幕的重点所在,控制的是弹幕效果。attributename="x"控制的是滚动方向,from和to就是从哪里滚动到哪里,然后begin是控制文字什么时间开始滚动,dur=“10s”就是表示经过10s后滚动到目的地。

好了,经过上面简单介绍,相信大家应该能轻松根据代码做出自己的微信公众号弹幕。

另外,这个弹幕也可以直接在图片上的,只不过在上面的基础上需要多加入一张用作背景的图片,如下:

最后,本来准备直接把弹幕代码丢给大家的,不过无意中发现i排版上面已经把这种形式直接做进去了,相信其他一些微信排版平台也会慢慢放进去。也好,那就省得我麻烦了,大家只需要过去,找到弹幕,然后根据上面介绍的,修改相关信息,达到你想要的效果就可以了。

就到这里,再聊!

木木博客,个人微信号:809472503,公众号:mumuseo。这是一个新鲜、有趣、有料的运营营销、新媒体、广告文案学习平台。

所有人都在营销,不一定每个人都在做营销。不要假装你都懂,你的那些麻烦问题可能都会在这解决!等你。

码系列文章

  1. #低码系列#低代码来了,程序员会失业吗?

整体设计

用户群体

对于基础功能的实现,不需要开发人员介入。业务人员通过可视化页面,即可完成设计。从这个角度上看,低码平台面向的用户是业务人员、系统管理员、实施顾问等角色。

但是,是否具备持续的产品迭代能力,是衡量产品生命力的主要依据。产品能否与时俱进,能否满足逐渐复杂的用户需求,也是判断产品是否有竞争力的主要指标。

低码平台要能够支持复杂的逻辑处理,支持开发人员的参与。这要求从这个角度上看,低码平台面向的用户是程序员、设计师等角色。

主要目标

低码平台相比传统开发模式,大部分的需求可以通过低码平台的可视化页面实现。无需开发人员介入,具备更高的开发效率和更低的开发门槛。应用发布也更快速,支持在线编译、打包、发布。

  1. 节省时间:几乎所有人都可以开发应用,而无需等待开发团队来开发。
  2. 提升效率:优化系统开发流程,提升软件开发效率
  3. 降低门槛:通过可视化建模技术完成数据结构、流程、逻辑的定义与前端页面的搭建
  4. 快速响应:维护升级方便,即改即用,快速响应业务变化与调整

系统架构

基于最先进的云原生技术搭建,整合了Kubernetes、微服务、Serverless、NoSQL 等最先进的技术架构,并提供了完善的自动化开发测试工具与运维管理工具。

组成部分

低码平台主要由以下几个部分组成:

  1. 基础设施:提供公共的服务组件,实现常规通用的需求。如:系统配置、统一认证、日志处理,消息队列、缓存管理等。
  2. 可视化管理:基于元数据的业务建模,应用的流程设计,以及开发完应用的在线编译、部署,都需要通过页面的可视化来实现。
  3. 核心引擎:抽象业务需求,满足具体应用设计,提供统一规范的应用引擎,是低码平台的核心。核心引擎主要包括:建模引擎、表单引擎、流程引擎、报表引擎、API引擎、代码引擎等。

建模引擎

基于模型驱动,内置功能强大的建模引擎,零代码也能快速创建智能化、移动化的企业应用程序。

通过实体、数据结构、枚举等构建低代码数据模型。可视化定义数据之间的关联关系,平台自动生成数据库表和通用接口。

表单引擎

基于模板创建页面或在空白页面上通过拖、拉、拽组件的方式完成页面搭建。平台提供标准化组件,以及组件扩展能力,可维护自有组件库。

流程引擎

涵盖了流程设计、流程运行、管理维护、统计分析与流程优化等各类工具,帮助企业快速部署、有效监控并持续优化业务流程。

低代码平台集成流程引擎,支持BPMN2.0规范的业务流程开发,并在此基础上进行了模型和符号标准化。

可支持常规流程的快速开发,如请假、入职、离职等企业内常用流程。

报表引擎

无需开发人员帮助,业务人员也能配置出功能强大的统计报表。报表运行时自动按当前用户权限过滤报表数据,动态显示业务统计结果。

可通过拖拽组件的方式实现折线图、柱状图、饼状图、散点图等。
也可在有数BI产品上完成从数据到模型再到报表的设计,低代码可以直接将生成的复杂报表集成到应用中。

API 引擎

基于业务模型,动态生成业务数据的API接口。可以在第三方应用、小程序、手机端中调用。

企业存量接口可通过低代码平台快速导入,并自动接入API网关。提供可视化定义接口能力,并将接口自动接入API网关。

代码引擎

可以使用传统方式编写代码,并可与可视化设计界面双向同步。对于可视化界面不能实现的业务功能,均可通过传统方式编写前后端代码实现。


作者:在代码的世界里自由自在
链接:https://blog.codeiy.com
来源:微信公众号-在代码的世界里自由自在
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。