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)

相关推荐

  • 解析Java对象引用与JVM自动内存管理

    技术解析Java对象引用与JVM自动内存管理 解析Java对象引用与JVM自动内存管理对象引用应用程序设计接口是JDKTM1.2中新定义的。该应用程序设计接口允许应用程序以对象引用的方式与JVM的内存管

    礼包 2021年11月1日
  • jquery获取同一个类所有元素(jquery获取指定元素的第二个元素)

    技术jquery如何获取除自己外的元素这篇文章主要介绍“jquery如何获取除自己外的元素”,在日常操作中,相信很多人在jquery如何获取除自己外的元素问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望

    攻略 2021年12月13日
  • className用法

    技术className用法 className用法className用法4.className用法例 4.1(keyIEFF.html)!DOCTYPE html PUBLIC "-//W3C//DTD

    礼包 2021年11月26日
  • 怎样结合Jexus+Kestrel 部署asp.net core生产环境

    技术怎样结合Jexus+Kestrel 部署asp.net core生产环境本篇文章为大家展示了怎样结合Jexus+Kestrel 部署asp.net core生产环境,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过

    攻略 2021年11月19日
  • 怎么从Spring的几个阶段理解其工作过程

    技术怎么从Spring的几个阶段理解其工作过程这篇文章给大家介绍怎么从Spring的几个阶段理解其工作过程,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Spring框架非常强大,想要彻底弄懂Spri

    攻略 2021年12月2日
  • jquery中的$代表什么意思

    技术jquery中的$代表什么意思这篇文章主要介绍“jquery中的$代表什么意思”,在日常操作中,相信很多人在jquery中的$代表什么意思问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”

    攻略 2021年12月2日