999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Python 的微信公眾號信息采集系統(tǒng)設計與實現(xiàn)

2021-06-16 23:49:52夏玲玲通訊作者戴文韓旭錢怡吉
電子制作 2021年6期
關(guān)鍵詞:微信信息系統(tǒng)

夏玲玲 (通訊作者),戴文,韓旭,錢怡吉

(1.江蘇警官學院計算機信息與網(wǎng)絡安全系,江蘇南京,210031;2.如皋市公安局丁堰中心派出所,江蘇南通,226500)

0 引言

自媒體時代,人們參與社會議題的方式更加靈活多樣,微博、微信、抖音等新媒體平臺逐漸成為社會熱點事件中民意的重要宣泄口[1]。作為2020 年度十大好用到爆的App之一的微信,是目前國內(nèi)最受歡迎也是用的最多的即時通訊軟件了,而在國外微信的使用人群也是非常龐大的。微信的流行改變了傳統(tǒng)的人際交往模式,在微信客戶端上衍生出的各類功能應用包括微信公眾號、微信朋友圈、微信群聊等,也影響了傳統(tǒng)的信息生態(tài)。微信公眾號由個人或企業(yè)組織機構(gòu)申請,通過用戶訂閱的模式將消息直接推送給用戶,成為近年來新媒體平臺的“寵兒”[2]。越來越多的個體和商家選擇開通微信公眾號發(fā)布文章或商品銷售信息,將公眾號當做一對多的思想、觀點、廣告等信息發(fā)布平臺,導致公眾號出現(xiàn)虛假消息傳播以及用戶評論出現(xiàn)“水軍”留言的現(xiàn)象。此外,某些突發(fā)事件發(fā)生后,微信公眾號的文章和用戶評論直接反映了最新的網(wǎng)絡輿情動態(tài)。政府及相關(guān)監(jiān)管部門有必要及時掌握微信公眾號的文章和用戶留言,了解最新的輿情動態(tài),面對虛假消息的傳播立即制止,針對網(wǎng)絡輿情危機及時化解并科學引導[3]。因此本系統(tǒng)設計并實現(xiàn)了一個自動采集微信公眾號文章及用戶評論的系統(tǒng),對于新媒體平臺輿情管控工作的開展具有重要意義。

1 系統(tǒng)設計

■1.1 系統(tǒng)整體架構(gòu)

微信公眾號信息采集系統(tǒng)整體架構(gòu)如圖1 所示。

圖1 系統(tǒng)整體架構(gòu)圖

■1.2 模擬登錄模塊

本系統(tǒng)利用Selenium 庫中Webdriver[4]模塊進行模擬登錄。借助Webdriver 調(diào)用chrome 瀏覽器,通過get 請求直接轉(zhuǎn)到微信公眾號平臺的登錄界面,采用Webdriver的元素定位方式對賬號框、密碼框以及登錄按鈕進行元素定位,跳出的二維碼選擇手動方式進行掃描登錄。

■1.3 獲取文章標題及鏈接模塊

文章接口的獲取經(jīng)過測試發(fā)現(xiàn)可以通過兩種途徑獲取,一種是通過微信公眾號平臺開放的接口來獲得文章列表及相關(guān)內(nèi)容,另一種是通過中間人的方式抓取手機訪問微信APP 的流量包,分析所得數(shù)據(jù)包的數(shù)據(jù)結(jié)構(gòu)來獲得文章的相關(guān)信息。

(1)通過微信公眾號平臺獲取

微信官方在2017 年6 月6 號發(fā)布了一則消息:對所有公眾號開放在圖文消息中插入全平臺已群發(fā)文章鏈接(消息的鏈接地址https://mp.weixin.qq.com/s/67skuKz9Ct4niT-f4u1KA)。也就是說至此以后公眾號發(fā)布文章的時候可以直接插入其他公眾號的文章。能夠插入其他公眾號的文章說明在微信公眾號平臺中有了所有公眾號已發(fā)布文章的接口,通過這個接口可以獲取到所需的公眾號文章相關(guān)信息。

(2)通過Fiddler 抓包工具獲取

Windows 下常用的中間人抓包工具有Fiddler、Wireshark、HTTPwatch 等[5]。其中Fiddler 是以代理服務器的形式工作,通過改寫HTTP 代理,讓數(shù)據(jù)從它那通過,來監(jiān)控并且截取到數(shù)據(jù),同時能夠解析HTTP、HTTPS 加密的內(nèi)容,比較適合本系統(tǒng)的需要。通過分析Fiddler 抓取到的訪問公眾號歷史信息的數(shù)據(jù)包可以獲得相應的文章接口以及所需的參數(shù)。

■1.4 獲取文章評論模塊

微信PC 客戶端以及手機端因其自帶瀏覽器,故而能夠看到用戶評論信息,因此評論接口和文章接口一樣,通過訪問文章獲得其加載的評論信息數(shù)據(jù)包,然后解析該數(shù)據(jù)包的數(shù)據(jù)結(jié)構(gòu),獲得所需信息即可。

2 采集系統(tǒng)實現(xiàn)與測試

■2.1 環(huán)境搭建及配置

(1)系統(tǒng)環(huán)境選擇安裝Python 3.7.0 以及Pycharm,以及需要下載安裝Python 第三方庫包括Selenium 庫、time 庫、json 庫、requests 庫、re 庫、random 庫 等。Selenium 庫用于模擬自動登錄,time 庫用于設置等待時間避免爬取速度過快導致反爬,json 庫用于解析網(wǎng)頁返回的json 格式數(shù)據(jù)包,requests 庫用于對目標URL 發(fā)起請求并解析,re 庫用于正則匹配目標,random 庫用于產(chǎn)生遞交參數(shù)時所需要的隨機數(shù)。

(2)Fiddler 的配置,F(xiàn)iddler 需要安裝HTTPS 證書才能對這類協(xié)議內(nèi)容進行抓取。采集系統(tǒng)通過抓包手機端微信APP 來獲得評論頁的URL 時,需要對Fiddler 以及手機進行一系列的配置來達到電腦端的Fiddler 能抓取手機端微信數(shù)據(jù)流量的目的。在FiddlerOptions 的HTTPS標簽中選擇from remote clients only,這是為了防止PC端的流量干擾抓包。接著在Connections 標簽中,由于是手機連接代理,所以選擇allow remote computers to connect。配置完電腦端后,還需要對手機端進行相應的配置。首先保證手機與PC 在同一個局域網(wǎng)中,打開cmd,輸入ipconfig,查看自己的IP 地址。將手機連入與電腦相同的局域網(wǎng)中,并開啟代理。代理選項選擇手動,在代理服務器主機名中填入剛才查看到的IP 地址,在代理服務器端口選擇8888(Fiddler 默認端口為8888)。然后在手機默認瀏覽器中輸入HTTP://IP 地址:8888,點擊最下面的FiddlerRoot Certificate 下載安裝證書。因為目標是微信的流量,可以對Fiddler 設置一下過濾。對手機端微信公眾號文章瀏覽的抓包效果如圖2 所示。

圖2 微信公眾號文章瀏覽抓包結(jié)果

■2.2 模擬登錄模塊的實現(xiàn)

模擬登錄過程中,需要自動填入賬號密碼并點擊登錄,因此需要對賬號框、密碼框、以及登錄按鈕進行元素定位。定位完成后,通過清空賬號框、密碼框并遞交自己預存的賬號密碼,完成自動登錄部分。接下來跳出的就是二維碼掃描界面,這里用手機微信的掃一掃。

■2.3 獲取文章標題及鏈接的實現(xiàn)

(1)通過微信公眾號平臺獲取

在對文章標題及鏈接的獲取前,需要對爬蟲進行一下偽裝,即添加header 信息偽裝成瀏覽器訪問,如果不添加則會報錯。這里只需要用到其中的user-agent 部分,將其與host 信息組成header 字典以備用。讀取上一步獲得cookies,登錄之后的微信公眾號首頁URL 變化為:https://mp.weixin.qq.com/cgi-bin/home?t=home/index&lang=zh_CN&token=XXX,可以從這里獲取token 票據(jù)。爬取文章列表需要進行循環(huán),在每次請求文章列表接口時都需要傳入相關(guān)參數(shù),每篇文章的相關(guān)信息都存儲在app_msg_list 中,對其進行g(shù)et 請求并存儲到一個字典中,對該字典進行循環(huán)采集就能夠?qū)⑺璧奈恼聵祟}及鏈接進行爬取,最后將采集到的文章標題及鏈接存儲到本地就可以了。

(2)通過Fiddler 抓包工具獲取

將手機配置好后,通過訪問手機微信公眾號的歷史信息,F(xiàn)iddler 可以截取到文章列表頁的相關(guān)信息,可以發(fā)現(xiàn)是一個json 數(shù)據(jù)包。多加載幾篇歷史文章能夠返回多個關(guān)于文章列表的json 數(shù)據(jù)包,對比發(fā)現(xiàn)這些json 的URL 發(fā)生變化的參數(shù)都為offset,即偏移量每次增加10,由此可以獲得文章列表頁URL 的變化規(guī)律。文章列表的具體信息都在general_msg_list 字典中,將其保存為本地的.txt 文件分析其數(shù)據(jù)結(jié)構(gòu)。文章具體信息包含在app_msg_ext_info 以及multi_app_msg_item_list 中,其中前者是每個公眾號的每日推送的第一篇文章,后者則是每日推送的附加文章,可能不止一篇。

■2.4 獲取文章評論的實現(xiàn)

與調(diào)用微信公眾號搜索接口以及文章列表接口一樣,在調(diào)用文章評論接口時同樣需要傳入一些所需的參數(shù)。通過比對幾次評論頁鏈接的變化發(fā)現(xiàn)其中發(fā)生變化的有appmsgid、comment_id、appmsg_token、pass_ticket。_biz 是微信公眾號的id 不會改變,前面已經(jīng)做過相應的存儲所以這里也可以直接傳入。appmsgid、comment_id 以及appmsg_token 需要去網(wǎng)頁中提取,可以在文章鏈接中通過正則匹配獲得。pass_ticket 因為之前沒有做過相應的存儲,這里選擇的是從抓包軟件中直接復制進代碼中。通過構(gòu)建通用的評論頁URL,傳入所需參數(shù),對該URL 進行g(shù)et 請求并以json 格式解析即可獲得評論頁的內(nèi)容[6]。

3 總結(jié)

自媒體時代,微信公眾號的低門檻可能會帶來虛假信息的傳播以及“水軍”留言的出現(xiàn)等問題。針對上述問題,對微信公眾號的文章和評論內(nèi)容進行自動化采集顯得尤為重要。本文介紹了如何設計一個基于微信公眾號的信息采集系統(tǒng),并對系統(tǒng)的各個功能模塊的實現(xiàn)做了簡要說明。該系統(tǒng)的實現(xiàn)對于新媒體平臺輿情管控工作的開展具有重要的現(xiàn)實意義。

猜你喜歡
微信信息系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
微信
微信
微信
微信
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 婷婷综合在线观看丁香| 国产二级毛片| 欧美日韩理论| 国产jizzjizz视频| 国产导航在线| 福利小视频在线播放| 中文字幕伦视频| 国产好痛疼轻点好爽的视频| 精品国产污污免费网站| 国内精品自在欧美一区| 亚洲成a人片77777在线播放| 久久亚洲精少妇毛片午夜无码| 天堂亚洲网| 亚洲免费播放| 啪啪免费视频一区二区| 99久久精品国产自免费| 欧美在线视频a| 国产乱肥老妇精品视频| 日本一区中文字幕最新在线| 国产丝袜一区二区三区视频免下载| 亚洲中文字幕av无码区| 国内精品久久久久鸭| 亚洲天堂啪啪| 97国产在线观看| 人妻21p大胆| 亚洲另类第一页| 国产丝袜第一页| 精品视频第一页| 国产日韩AV高潮在线| 一本一道波多野结衣av黑人在线| 国产超薄肉色丝袜网站| 一本一道波多野结衣av黑人在线| 91在线激情在线观看| 91年精品国产福利线观看久久| 亚洲欧洲日产国产无码AV| 欧美特黄一级大黄录像| 最新国产高清在线| 欧美色亚洲| 亚洲三级网站| 影音先锋丝袜制服| 欧美日韩激情| 亚洲精品视频免费观看| 在线国产三级| 久久网欧美| 日韩在线影院| 亚洲精品你懂的| 国产嫩草在线观看| 色悠久久久久久久综合网伊人| 日韩不卡高清视频| 国产情侣一区| 欧美中文字幕无线码视频| 三级视频中文字幕| 2020最新国产精品视频| 一级香蕉视频在线观看| 激情综合婷婷丁香五月尤物| 丁香婷婷激情网| 青草娱乐极品免费视频| 91成人免费观看| 免费xxxxx在线观看网站| 国产精品一区二区国产主播| 国产无遮挡裸体免费视频| 永久免费无码成人网站| 婷婷中文在线| 最近最新中文字幕免费的一页| 国产人人射| 这里只有精品在线播放| 高潮爽到爆的喷水女主播视频| 在线亚洲小视频| 国产日本一线在线观看免费| 亚洲欧美极品| 日本午夜三级| 小说 亚洲 无码 精品| 五月丁香伊人啪啪手机免费观看| 小说 亚洲 无码 精品| 久草中文网| 国产一区二区网站| 天天躁狠狠躁| 色丁丁毛片在线观看| 亚洲成人黄色在线| 中文字幕波多野不卡一区| 国产xx在线观看| 久久久成年黄色视频|