如何导出微信朋友圈中自己发的内容,python转发微信朋友圈消息
不,严禁转载。
文章的背景方法1。用法不当2。不能再使用的用法。应用方法4。后续工作和模拟整个操作代码的扩展背景。
因为课题需要以朋友圈的内容作为研究数据,所以我做了一点研究。
现在有四种攀爬方式。我们来分析一下。
1)不能申请微信号为好友备用自行车。请授权本微信号查看您的朋友圈。然后,那个微信号就会链接到你的朋友圈。这和我的需求不一样。爬上我朋友的圈子。不是我自己的朋友圈。第二,这条路明显是大众吸粉之路。这种方法应该扔掉。
方法用PC操作后,打开网站的网页版,扫描操作原则上不能使用。
不过我试过了,现在微信已经关闭了网络版,所以我也不能用这个方法。放一点代码:
importchatimportimportmathfromportage # Get data def download _ image(:)扫描二维码登录微信,即在线网站包含用户信息词典列表friends=itchat.get_friends))目录微信图像base_path=微信图像 ifnotos。将头像存储在当前位置创建e _ path为friends中的friend获取所有好友的头像:#获取头像数据img _ data=it chat . Get _ head _ img(username=friends)。)判断评论名是否为空= :img _ name=friend[ remark name ]else:img _ name=friend[ nickname ]# file直接替换if img _ nameis * : img _ name= #输入文件名img _ file=OS . path . join))base _ base img _ name 。jpg )print(img _ img _ file)with open)img _ file,Wb )as file:file . write(img _ data)sprite icon def join _ Image):base _ path= head images files=OS . OS=int)math . sqrt)float)6400)/len)files)、计算出的每个粘贴图像的边长lines=多少行print(lines)Image=Image)color=0)是否定义了大小为640*640的图像,未指定的第三个参数的默认值ANTIALIAS))找到并打开,可以缩放图片,将可以缩放图片的y * each_size()缩放照片放在对应坐标下x)如果每行粘贴内容足够,换行x=0y=1image.save(jointpic.jpg))。最后,所有照片都转换成if _ name _=(_ _ main _ 3360 download _ id)
(方法三)虽然你没有尝试过APP nium,但是理论上你能做的就是在电脑上安装一个手机模拟器,进入微信,然后用APP nium作为工具模拟操作,读取朋友圈的数据。但是,Appnium不是一个库,而是一套软件。安装需要java环境等。而且是配置的,很麻烦,就不手动试了。很好
百度一下,有例子。
方法四:模拟操作简单,但不是完整的例子。后续还得自己写。先录下来吧。
思路很简单,就是在PC上使用微信,然后读取窗口信息,模拟人工操作,打开朋友圈的窗口,然后读取显示朋友圈内容的控件,就可以看到内容了。
先在电脑上打开登录微信,不运行是找不到微信进程号的。
Importutil #用于获取微信电脑版的进程信息;导入pywinauto#用于从pywinauto自动控制微信电脑版本。应用程序导入应用程序没有随pip install一起安装,所以很快就会安装。
然后在主函数中写代码。
PID=0#在psutil.process _ iter()中为proc保存微信的进程号:#循环计算机上的进程并获取进程号和名称try:pinfo=proc . as _ dict(attrs=[ PID ,Name])除了psutil.nosuchprocess: #微信程序passelse:if we chat . exe ==pinfo[ Name ]:#当进程名为wechat.exe时,记下进程号PID=pinfo[pid] #进程ID用于提供Connect (process=PID) # Get微信窗口实例Win_wechat=app[微信]接下来是关键的一步。因为新版微信窗口的布局发生了变化,接下来就是关键的一步。如果你不能解决它,它就会失败。首先调用下面的语句,以树的形式打印窗口上的所有控件。
win _ we chat . Print _ control _ identifiers()#以树形形式打印窗口上的所有控件,观察[title="friend circle ",control _ type="button"]在哪个控件下。目前这个版本在[Pane6]下,所以用下面的代码来获取朋友圈按钮。
#获取朋友圈按钮实例button _ pyq=win _ wechat [pane6]。微信窗口上的Child _ window (title=朋友圈,control_type=Button )并打开朋友圈窗口。
#获取按钮坐标cords=Button_pyq.rectangle() #然后控制电脑版微信,模拟鼠标点击,打开朋友圈窗口pywinauto . mouse . click(Button= left ,coords=(cords.left10,cords.top10))。跑到这里,朋友圈窗口就打开了。接下来拿一个朋友圈窗口的例子。
Win_pyq=app[朋友圈] #获取朋友圈win _ pyq.draw _ outline的窗口实例(colour= red ,thickness=2) #在当前定位的窗口周围画一条边界线,这样我们就可以看到Win_pyq.dump_tree()所在的控件。全代码导入psutil#用于获取电脑版微信。导入pywinauto#用于从pywinauto自动控制微信电脑版本。应用程序导入应用程序if _ _ Name _= _ _ main _ _ :PID=0 # PS util . process _ ITER()中用于为proc保存微信的进程号:#循环计算机上的进程,获取进程号和名称try:pinfo=proc . as _ dict(attrs=[ PID ,Name])除psutil.nosuchprocess: #微信程序passelse:if we chat . exe ==pinfo[ Name ]:#当进程名为wechat.exe时记下进程号PID=pinfo[pid] #进程ID用来提供给PyWinAuto.application要连接微信电脑版,只有在已经运行微信app=application (backend= UIA )的情况下才连接。 Connect (process=PID) #获取微信窗口实例Win _ we chat=app[ we chat ]# Win . Print _ control _ identifiers()#以树形方式打印窗口上的所有控件#获取微信窗口上朋友圈的按钮实例button _ pyq=win _ wechat [pane6]。child _ window(title= friend circle ,Control _ type= Button )# Get Button coordinates cords=Button _ pyq . rectangle()#然后控制电脑版微信,打开朋友圈窗口pywinauto . mouse . click(Button= left ,coords=(cords.left10,cords . top 10))Win _ pyq=app[ friend circle ]# Get朋友圈窗口实例Win _ pyq . Draw _ outline(colour= red ,thickness=2) #在当前定位的窗口周围画一条边界线,就1.如你所见,目前只打印当前窗口的内容,然后要滑动窗口再读取。此外,数据需要处理,因为数据是杂乱的:
2.可以借鉴模拟鼠标点击的操作,自动操作微信发送和回复消息。自动聊天机器人可以发现。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。