Python 爬取朋友圈最新方法!!

技术Python 爬取朋友圈最新方法!! Python 爬取朋友圈最新方法!!在几年前,互联网上曾经出现过一款生成朋友圈相册的产品。但是它的流程说起来很不互联网:首先,需要添加指定的微信号,并且给这个微

Python最新的爬朋友圈方法!

几年前,一款生成朋友圈相册产品出现在互联网上。但它的过程不是互联网:

首先你需要添加指定的微信号,并给这个微信号查看你朋友圈的权限;

然后,再等几个小时;

最后得到一个链接,里面显示了我的朋友圈,有相册模板。

刚开始听起来很牛逼,我还以为这个产品是怎么得到个人朋友圈数据的,直到看到需要先加微信好友,我立刻笑着理解了。

其实,朋友圈一直是很多人的爬虫想要采集的领地。,之前,朋友圈只能在手机或平板电脑上看到。为了得到朋友圈的数据,** *要么手工复制人肉,要么用钩子处理。

* *这两个操作一个太低端,一个太高端。

有没有简单一点的?* * Appnium可能是一种比钩子操作简单得多的方法。但是Appnium的环境配置会吓跑很多朋友。

* *因此,Appnium的门槛仍然略高。

直到最近,微信电脑版开始支持朋友圈,的情况似乎有所好转!

所以可以通过 PyWinAuto 和 PyAutoGui 这两个工具,实现对桌面程序的自动化控制和数据采集.

这两个工具可以应用在微信朋友圈的数据收集上吗?

首先,介绍所需的库:

1.“导入psutil”

2.`导入pywinauto `

3.`从pywinauto.application导入应用程序`中

其中包括:

Psutil用于获取微信电脑版的流程信息;

Pywinauto用于微信电脑版的自动控制

然后,我们通过psutil库获取微信电脑版程序的进程ID:

1.` PID=0 '

2.` for proc in PSU til . process _ ITER(): `

3.` try: '

4.` pinfo=proc.as_dict(attrs=['pid ',' name'])'

5.` psutil除外。NoSuchProcess: `

6.“通过”

7.` else: '

8.` if '微信. exe'==pinfo['name']: '

9.` PID=pinfo['pid']'

该进程ID用于提供PyWinAuto连接微信电脑版。然后,用PyWinAuto实例化应用程序:

1.` app=应用程序(后端='uia ')。连接(流程=工艺流程图)`

然后控制微信电脑版,打开朋友圈窗口:

1.` win=app['微信']'

2.` pyq _ BTN=win . child _ window(title='朋友圈',control_type='Button ')

3.` cords=pyq_btn.rectangle()`

4.` pywinauto . mouse . click(button=' left ',coords=(cords.left 10,cords.top 10))'

有了上面的代码,Python代码控制微信电脑版打开朋友圈窗口。效果如下:

朋友圈的窗口是开着的。如果你得到里面的数据呢?

让我们使用。dump_tree()方法查看朋友圈窗口中每个控件的结构:

1.` print(pyq _ win . dump _ tree())` 0

这将把朋友圈窗口中所有显示组件的结构打印到控制台上,显示的内容如下图所示:

我们来看一个具体的例子,比如朋友圈里的这条消息:

它在dump_tree()中的结构如下:

可以看出,窗口中的每一个信息,比如联系人的名称,朋友圈内容,朋友圈发布时间等等,都是由各种组件组成的。

我们可以通过获取和控制这些组件来提取数据。例如,在这个例子中,我们可以通过定位Edit组件来获取这个朋友圈的内容:

和其他工具相比,是不是极其简单?

它不仅简单,而且非常有效。

感兴趣的朋友,赶紧试试吧!

文末

你最喜欢的收藏是我最大的鼓励!

欢迎我,分享Python干货,交流Python技术

如果你对文章有什么意见,或者有什么技术问题,欢迎在评论区留言讨论!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/151777.html

(0)

相关推荐

  • Python实战小项目之如何实现身份证信息校验

    技术Python实战小项目之如何实现身份证信息校验这篇文章主要介绍“Python实战小项目之如何实现身份证信息校验”,在日常操作中,相信很多人在Python实战小项目之如何实现身份证信息校验问题上存在疑惑,小编查阅了各式

    攻略 2021年10月20日
  • Java多线程中Callable、Future和FutureTask是什么意思

    技术Java多线程中Callable、Future和FutureTask是什么意思小编给大家分享一下Java多线程中Callable、Future和FutureTask是什么意思,相信大部分人都还不怎么了解,因此分享这篇

    攻略 2021年10月31日
  • MySQL密码该怎么备忘

    技术MySQL密码该怎么备忘这篇文章将为大家详细讲解有关MySQL密码该怎么备忘,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在windows下: 打开命令行窗口,停止m

    攻略 2021年11月20日
  • 如何理解UML时序图

    技术如何理解UML时序图如何理解UML时序图,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。UML时序图简介时序图(SequenceDiagram)是强调

    攻略 2021年11月23日
  • Win10/Win11安装WSA提示Add-AppxPackage部署失败解决方法:关闭签名许可验证 教程

    技术Win10/Win11安装WSA提示Add-AppxPackage部署失败解决方法:关闭签名许可验证 教程 Win10/Win11安装WSA提示Add-AppxPackage部署失败解决方法:关闭签

    礼包 2021年11月25日
  • Composer安装配置的过程分析

    技术Composer安装配置的过程分析Composer安装配置的过程分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 Wi

    攻略 2021年10月27日