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
主站蜘蛛池模板: 麻豆AV网站免费进入| 国产女人爽到高潮的免费视频 | 日韩国产亚洲一区二区在线观看| 中文一级毛片| 久久精品国产在热久久2019| 91久久偷偷做嫩草影院| 免费无码又爽又黄又刺激网站| 国产成年无码AⅤ片在线| 91精品啪在线观看国产91九色| 国产成人成人一区二区| 亚洲系列无码专区偷窥无码| 国产91视频免费| 女人av社区男人的天堂| 一本大道视频精品人妻| 就去色综合| 四虎成人精品| 自偷自拍三级全三级视频| 欧美精品高清| 91在线无码精品秘九色APP| 国产麻豆精品久久一二三| 成人国产三级在线播放| 理论片一区| 久久女人网| 99尹人香蕉国产免费天天拍| 91视频精品| 欧美日本中文| 国产成人精品一区二区免费看京| 欧洲欧美人成免费全部视频| 国产精品私拍在线爆乳| 国产精鲁鲁网在线视频| 欧美在线综合视频| 91久久偷偷做嫩草影院精品| 狠狠色香婷婷久久亚洲精品| 国产本道久久一区二区三区| 国产精品高清国产三级囯产AV| 亚洲欧洲一区二区三区| 欧美视频免费一区二区三区| 亚洲Aⅴ无码专区在线观看q| 国产在线观看第二页| 国产成人禁片在线观看| 亚洲电影天堂在线国语对白| 大香伊人久久| 在线观看亚洲精品福利片| 婷婷六月综合| 日韩高清在线观看不卡一区二区| 国产日韩欧美中文| 日韩天堂网| 精品久久高清| 亚洲欧美日韩中文字幕在线一区| 成人一级免费视频| 全部免费毛片免费播放| 亚洲综合18p| 久久精品国产精品一区二区| 国产哺乳奶水91在线播放| 国产一区二区三区精品欧美日韩| 强乱中文字幕在线播放不卡| 国产欧美性爱网| 国产精品亚洲日韩AⅤ在线观看| 2021国产精品自产拍在线| 国产精品手机视频| 91九色国产在线| 亚洲 欧美 日韩综合一区| 亚洲日韩Av中文字幕无码| 国产成人综合网| 91精品国产自产在线观看| 91精品国产福利| 久久大香伊蕉在人线观看热2| 香蕉eeww99国产精选播放| 国产精品分类视频分类一区| 中美日韩在线网免费毛片视频| 在线观看免费人成视频色快速| 99久久国产综合精品2023| 国产色爱av资源综合区| 日本手机在线视频| 久久天天躁夜夜躁狠狠| 久久久久亚洲Av片无码观看| 一级毛片不卡片免费观看| 福利国产微拍广场一区视频在线| 波多野衣结在线精品二区| 亚洲欧美另类专区| 在线国产欧美| 国产美女叼嘿视频免费看|