幾年前,互聯網上曾經出現過一款生成朋友圈相冊的產品。但是它的流程說起來很不互聯網:
最開始聽起來覺得很牛逼,心想這款產品是怎么拿到個人的朋友圈數據的,直到看到它的使用流程首先需要添加微信好友,瞬間就笑著明白了。
其實,朋友圈一直是很多人的爬蟲想要采集的領地。
在之前,朋友圈只能在手機或Pad上查看,要想獲取朋友圈的數據,要么手工進行人肉復制,要么通過鉤子進行處理。
這兩種操作一個太低端了,一個又太高端了。
有沒有稍微簡單一點的呢?用 Appnium 或許是一個方法,操作起來比鉤子簡單多了,但是,Appnium 的環境配置,就會嚇跑很多朋友了。
所以,Appnium 還是門檻稍高。
直到最近,微信電腦版開始支持朋友圈,事情似乎出現了轉機!
在之前,州的先生介紹了「桌面圖形界面程序的自動化和采集」
來聊聊桌面圖形界面的自動化和采集
里面就提到了通過 PyWinAuto 和 PyAutoGui 這兩個工具,實現對桌面程序的自動化控制和數據采集。
這兩個工具,是否可以應用在微信朋友圈數據的采集上呢?
州的先生,立馬寫了個 Demo 來測試。
首先,引入所需的庫:
import psutil
import pywinauto
from pywinauto.application import Application
其中:
然后,我們通過 psutil 庫獲取到微信電腦版程序的進程ID:
PID=0
for proc in psutil.process_iter():
try:
pinfo=proc.as_dict(attrs=['pid', 'name'])
except psutil.NoSuchProcess:
pass
else:
if 'WeChat.exe'==pinfo['name']:
PID=pinfo['pid']
這個進程ID用來提供給 PyWinAuto 以連接微信電腦版。
然后,用 PyWinAuto 實例化一個應用:
app=Application(backend='uia').connect(process=PID)
接著控制微信電腦版,把朋友圈窗口打開:
win=app['微信']
pyq_btn=win.child_window(title="朋友圈", control_type="Button")
cords=pyq_btn.rectangle()
pywinauto.mouse.click(button='left', coords=(cords.left + 10, cords.top + 10))
以上代碼,就實現了 Python 代碼控制微信電腦版打開朋友圈窗口。
效果如下所示:
朋友圈的窗口是打開了,如果獲取里面的數據呢?
我們先用 .dump_tree() 方法看看朋友圈窗口里面各個控件的結構是怎樣的:
print(pyq_win.dump_tree())
這會把朋友圈窗口內所有顯示出來的組件的結構打印到控制臺,其顯示的內容如下圖所示:
我們來看一個具體的例子,例如朋友圈內的這條信息:
它在 dump_tree() 中的結構如下所示:
可以看到,窗口內的每一個信息,比如聯系人的名稱、朋友圈內容、朋友圈發布時間等等都是各種組件構成的。
我們可以通過獲取和控制這些個組件,來實現數據的提取。比如在這個例子里,我們就可以通過定位到 Edit 這個組件來獲取到這條朋友圈的內容:
跟其他的工具比起來,是不是算是異常簡單了?
不僅簡單,效果還很不錯。
感興趣的朋友們,趕緊試試吧!
求點贊,求關注
T之家 5 月 31 日消息,據網友反饋,微信 Windows PC 電腦版 3.7.0.26 正式發布,可以在程序里面的關于微信-檢查更新里面更新了。該版本帶來了一些新功能和改版、修復等內容,包括可以對存儲空間進行管理,在群公告中可添加圖片、視頻、文件等內容,圖片視頻瀏覽界面全新改版等等。
Windows 微信 3.7.0 新增功能:
-可以對存儲空間進行管理;
-在群公告中可添加圖片、視頻、文件等內容;
-圖片視頻瀏覽界面全新改版;
-修復了一些已知問題。
大家在IT之家微信號回復“微信”兩字,即可獲取當前最新官方內部版微信下載。
月25日,微博話題“微信新增鎖定功能”登上熱搜,引發關注。
近日,微信開始向部分Windows用戶推送3.9.5版本更新。更新后,微信電腦版左下角菜單處將出現鎖定功能的表示,點擊后將顯示Windows微信已被鎖定。
在此狀態下,用戶將無法直接在電腦上對微信進行任何操作,有效解決了有事需要離開時微信的隱私安全,而如果想要解除該功能,用戶也可在手機微信的會話列表頂部狀態欄中,直接進行解鎖。
需要注意的是,此次更新目前并未全量推送,暫未收到更新的用戶可以稍作等待。
對于這一新增的功能,有網友表示很需要,也有網友表示,給電腦設置一個密碼,直接鎖定電腦即可。
多位網友表示,更需要語音倍速播放、多次編輯朋友圈文案、朋友圈對某些人可以設置三天可見、禁止某人打語音電話、批量取消關注的公眾號、朋友圈分標簽瀏覽等功能。
你還希望微信增加哪些功能?(可多選) 1、多次編輯朋友圈文案 2、朋友圈分標簽瀏覽 3、朋友圈對某些人可以設置三天可見 4、存表情包不設置上限 5、禁止某人打語音電話 6、語音倍速播放 7、朋友圈圖片只允許本人下載 8、其它 提交
【文字】南方+記者 馬芳
【作者】 馬芳
【來源】 南方報業傳媒集團南方+客戶端