亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Python的微信公眾平臺數(shù)據(jù)爬蟲

        2019-10-14 00:42:32
        福建質(zhì)量管理 2019年17期
        關(guān)鍵詞:爬蟲瀏覽器網(wǎng)頁

        (重慶交通大學(xué) 重慶 400074)

        引言

        信息技術(shù)的進(jìn)步和人工智能的到來使人們的生活方式逐漸發(fā)生改變,社交網(wǎng)絡(luò)的高速發(fā)展和形式變遷就是一個非常突出的例子。在大數(shù)據(jù)時代,社交網(wǎng)絡(luò)產(chǎn)生的數(shù)據(jù)就像一個巨大的寶庫,這吸引了大量的研究人員參與到相關(guān)內(nèi)容的研究。在國外,人們針對Twitter、Facebook等知名社交平臺展開了一系列的分析。但是針對國內(nèi)社交網(wǎng)絡(luò)平臺的研究還比較欠缺。主要是缺乏相關(guān)的研究數(shù)據(jù),使得一些研究難以開展。在國外Twitter等社交平臺會提供一些數(shù)據(jù)接口供研究人員獲取研究數(shù)據(jù),但是在國內(nèi)卻無法正常訪問這些接口。如此之大的一個社交平臺為社交網(wǎng)絡(luò)分析、網(wǎng)絡(luò)數(shù)據(jù)挖掘等研究提供了強(qiáng)有力的大數(shù)據(jù)支持。

        目前微信公眾號注冊量巨大,然而微信公眾平臺并沒有提供相關(guān)的數(shù)據(jù)接口,沒有數(shù)據(jù),一些研究分析工作也無法進(jìn)行。目前網(wǎng)絡(luò)中也存在一些公開的微信公眾號數(shù)據(jù)供人們下載,但是這些數(shù)據(jù)集通常規(guī)模比較小,而些技術(shù)力量強(qiáng)勁、資源充足的研究團(tuán)隊通常自己開發(fā)一些爬蟲來獲取研究數(shù)據(jù)。這對不熟悉爬蟲技術(shù)的且還缺乏實時性。有研究人員而言是個極大的挑戰(zhàn)。本文提出了一款基于Python語言的微信公眾號數(shù)據(jù)爬蟲,為數(shù)據(jù)獲取提供支持。

        本文爬蟲通過模擬客戶端的操作如登錄、訪問關(guān)注量、查看歷史消息、查看消息內(nèi)容等方式獲取相關(guān)數(shù)據(jù),并且將這些數(shù)據(jù)持久化保存到本地硬盤上,方便后續(xù)進(jìn)一步的數(shù)據(jù)挖掘與分析。使用本文爬蟲能夠節(jié)省分析人員的開發(fā)時間,使得他們可以將更多的精力放在數(shù)據(jù)分析上面,同時也可以對一些無用的數(shù)據(jù)起到過濾作用。

        一、爬蟲相關(guān)原理

        想要爬取某些網(wǎng)站的數(shù)據(jù)需要一些手段才能實現(xiàn),因為并非所有人都希望自己的成果被別人輕易地復(fù)制據(jù)為己有,但是在不違反道德和法律的基礎(chǔ)上,僅用于個人能力提升和學(xué)術(shù)上的研究以及在不影響他人利益的情況下自己獲利進(jìn)行網(wǎng)頁數(shù)據(jù)爬取是很有必要的。

        首先找到目標(biāo)數(shù)據(jù)網(wǎng)頁并發(fā)送請求,獲取響應(yīng)內(nèi)容,分析目標(biāo)數(shù)據(jù)所對應(yīng)的URL(統(tǒng)一資源定位符),找到目標(biāo)數(shù)據(jù)在網(wǎng)頁源代碼中的位置,然后用正則表達(dá)式鎖定要選取的內(nèi)容下載數(shù)據(jù)存到本地,清洗數(shù)據(jù),最后保存數(shù)據(jù)。

        (一)發(fā)送HTTP請求

        進(jìn)行網(wǎng)頁數(shù)據(jù)爬取的第一步是得到該網(wǎng)頁的URL,有了URL之后用Python向服務(wù)端發(fā)送HTTP請求。

        一般的網(wǎng)頁信息的爬取請求方式是get,如果需要填寫表單才能進(jìn)一步獲取資源請求方式是post。在專業(yè)領(lǐng)域中還有更多請求方式,一般有四種基本請求方式,即get,post,put,delete,本文主要涉及get請求和post請求。一般的網(wǎng)站專業(yè)人士認(rèn)為get請求和post請求的本質(zhì)的區(qū)別在于,get請求主要用于獲取、查詢資源信息,post請求主要用于更新(修改)資源信息。

        (二)HTTP請求響應(yīng)

        當(dāng)用戶向服務(wù)端發(fā)送了請求之后,服務(wù)端會根據(jù)HTTP協(xié)議中的定義解析出請求的東西然后發(fā)送給用戶。每一次響應(yīng)都會有一個相對應(yīng)響應(yīng)狀態(tài),響應(yīng)成功對應(yīng)的響應(yīng)碼是200,其他的一般都是響應(yīng)錯誤。

        (三)正則表達(dá)式

        正則表達(dá)式,又稱規(guī)則表達(dá)式。(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計算機(jī)科學(xué)的一個概念。正則表達(dá)式通常被用來檢索、替換那些符合某個模式(規(guī)則)的文本。

        許多程序設(shè)計語言都支持利用正則表達(dá)式進(jìn)行字符串操作。例如,在Perl中就內(nèi)建了一個功能強(qiáng)大的正則表達(dá)式引擎。正則表達(dá)式這個概念最初是由Unix中的工具軟件(例如sed和grep)普及開的。正則表達(dá)式通??s寫成“regex”,單數(shù)有regexp、regex,復(fù)數(shù)有regexps、regexes、regexen。

        正則表達(dá)式能從一大堆信息中提取本文想要的信息。構(gòu)造正則表達(dá)式是得到網(wǎng)頁源代碼之后非常重要的一步,構(gòu)造正則表達(dá)式需要觀察網(wǎng)頁源代碼的特征,正則表達(dá)式中的字符表達(dá)基本上有下面這些:

        二、爬蟲算法模塊

        (一)主要模塊

        1.re模塊

        re模塊就是正則表達(dá)式對應(yīng)的模塊,可以直接選取本文需要的資源,這里主要用了re模塊下的re.compile(A).findall(B)函數(shù),參數(shù)A是本文按照自己需求構(gòu)造的正則表達(dá)式用來提取有用的資源,參數(shù)B是所有資源

        2.urllib模塊

        urllib模塊有很多功能,其中本文主要涉及到的函數(shù)或功能有urllib.request下面的urlopen,build_opener,install_opener,ProxyHandler,retrieve等。

        urllib模塊是整個基礎(chǔ)爬蟲中最重要的模塊之一,本文主要引用了urllib模塊進(jìn)行爬蟲有關(guān)操作,當(dāng)然也有其他模塊和框架(scrapy項目框架)可以進(jìn)行爬蟲,在此暫時不做考慮。

        (二)應(yīng)對反爬蟲機(jī)制

        在對某些網(wǎng)站進(jìn)行爬取的時候會遇到一些反爬機(jī)制,所謂反爬機(jī)制就是指對方不希望別人用除瀏覽器以外的途徑去獲取該網(wǎng)站的信息或者不希望該網(wǎng)站的數(shù)據(jù)被某些人用于商業(yè)用途從而制作的一些拒絕爬取的手段。本文主要講的有兩種反爬機(jī)制分別是,網(wǎng)站拒絕除瀏覽器以外的訪問方式和網(wǎng)站拒絕反復(fù)多次提供數(shù)據(jù)給同一IP地址.針對第一種常見的解決方案是構(gòu)建用戶代理或者用戶代理池,針對第二種情況則是構(gòu)建IP代理或者IP代理池。

        (三)用戶代理池

        用戶代理(User Agent),簡稱 UA,它是一個特殊字符串頭,使得服務(wù)器能夠識別客戶使用的操作系統(tǒng)及版本、CPU 類型、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等.一些網(wǎng)站常常通過判斷 UA 來給不同的操作系統(tǒng)、不同的瀏覽器發(fā)送不同的頁面,因此可能造成某些頁面無法在某個瀏覽器中正常顯示,但通過偽裝 UA 可以繞過檢測。

        用戶代理池由多個用戶代理構(gòu)成,從里面隨機(jī)選取一個用戶代理來應(yīng)對相應(yīng)的錯誤.

        (四)IP代理池

        高頻抓取某個網(wǎng)站的數(shù)據(jù),很有可能就被網(wǎng)站管理員封掉IP,導(dǎo)致抓取數(shù)據(jù)失敗,解決這個問題最直接,簡單的方法就是使用代理IP。目前網(wǎng)上有不少提供付費(fèi)代理IP的平臺,但是如需長期使用,該方案是筆不少的開銷。本項目通過抓取IP代理網(wǎng)站提供免費(fèi)代理IP,并不間斷的驗證IP的有效性,根據(jù)代理IP驗證的歷史記錄對IP進(jìn)行評估,輸出高質(zhì)量代理IP。

        三、Python數(shù)據(jù)爬蟲操作

        (一)微信登錄

        微信公眾號平臺數(shù)據(jù)需要在登錄的情況下才能訪問到,所以微信公眾號登錄是爬蟲需要解決的第一個問題。微信公眾號一般有以下幾個步驟:

        1.客戶端向用戶服務(wù)器發(fā)送登錄請求;

        2.服務(wù)器接收到登錄請求后會生成相應(yīng)的密鑰返回給客戶端;

        3.客戶端將用戶的用戶名、密碼以及中服務(wù)器發(fā)回的登錄密鑰結(jié)合在一起再向服務(wù)器提交登錄信息,服務(wù)器驗證成功之后將會返回正確的登錄狀態(tài)以及當(dāng)前用戶的個人信息。成功登錄之后客戶端只需要保持與服務(wù)器的session會話就可以方便地訪問微信公眾號中的數(shù)據(jù)資源。

        (二)微信公眾號正文內(nèi)容抓取

        本文爬蟲針對用戶的微信公眾號內(nèi)容提供了相應(yīng)的抓取方法。一種方法是:本文爬蟲可以將用戶的所有微信公眾號內(nèi)容全部以文件的形式完全記錄到磁盤,但是這樣做就需要很多的物理存儲空間才能將如此之多的用戶數(shù)據(jù)保存下來。另一種方法是:本文爬蟲提供了簡單的字符串匹配功能,在抓取用戶微信公眾號內(nèi)容的過程中會根據(jù)需要匹配的關(guān)鍵字進(jìn)行匹配,如果發(fā)現(xiàn)匹配成功的爬蟲會將該數(shù)據(jù)內(nèi)容保存到磁盤。這樣研究人員就可以有針對性地進(jìn)行相關(guān)研究和分析。

        (三)某微信公眾號的爬蟲數(shù)據(jù)分析

        通過對某一微信公眾號的數(shù)據(jù)進(jìn)行爬蟲,從網(wǎng)頁上爬取文本數(shù)據(jù)之后可以進(jìn)行一系列的分析,以關(guān)鍵詞出現(xiàn)頻率為例畫出詞云圖。相對傳統(tǒng)的統(tǒng)計圖有更好的觀賞性,并且清晰直觀的看出此微信公眾號的主要內(nèi)容與CNN卷積神經(jīng)網(wǎng)絡(luò),運(yùn)算,領(lǐng)導(dǎo)等關(guān)鍵詞有關(guān),可以粗略推斷本文爬取的公眾號是與人工智能和數(shù)據(jù)科學(xué)有關(guān)的公眾號。

        四、結(jié)論與展望

        在本文利用Python數(shù)據(jù)爬蟲對微信公眾號數(shù)據(jù)進(jìn)行爬取中,選出爬取文本中高頻出現(xiàn)的詞匯,并用詞云圖的形式表示出來,由于其清晰明了的可視化效果,可以為初學(xué)者的統(tǒng)計分析提供分析方向。

        大數(shù)據(jù)時代,對大數(shù)據(jù)的分析應(yīng)當(dāng)成為一個行業(yè),數(shù)據(jù)擁有者應(yīng)該開放數(shù)據(jù)的分析接口,讓數(shù)據(jù)的價值釋放,而爬蟲開發(fā)者,很多時候是數(shù)據(jù)分析者,最起碼是個數(shù)據(jù)清洗和篩選者。他們蒙上了一層神秘面紗,帶著一絲黑客氣息,法律應(yīng)當(dāng)給他們更大的生存空間,讓這個有價值的行業(yè)創(chuàng)造更大的價值。

        猜你喜歡
        爬蟲瀏覽器網(wǎng)頁
        利用網(wǎng)絡(luò)爬蟲技術(shù)驗證房地產(chǎn)灰犀牛之說
        基于Python的網(wǎng)絡(luò)爬蟲和反爬蟲技術(shù)研究
        反瀏覽器指紋追蹤
        電子制作(2019年10期)2019-06-17 11:45:14
        基于CSS的網(wǎng)頁導(dǎo)航欄的設(shè)計
        電子制作(2018年10期)2018-08-04 03:24:38
        利用爬蟲技術(shù)的Geo-Gnutel la VANET流量采集
        電子測試(2018年1期)2018-04-18 11:53:04
        基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
        電子制作(2017年2期)2017-05-17 03:54:56
        大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲技術(shù)
        電子制作(2017年9期)2017-04-17 03:00:46
        環(huán)球瀏覽器
        再見,那些年我們嘲笑過的IE瀏覽器
        網(wǎng)頁制作在英語教學(xué)中的應(yīng)用
        電子測試(2015年18期)2016-01-14 01:22:58
        999国内精品永久免费观看| 一区二区亚洲熟女偷拍| 国产精品亚洲一区二区麻豆| 国产电影无码午夜在线播放| 国产亚洲情侣一区二区无| 国产成人亚洲精品电影| 国产精品女同二区五区九区| 色狠狠一区二区三区中文| 国产又爽又粗又猛的视频| 亚洲小说图区综合在线| 国产精品成人有码在线观看| 中文字幕一区二区中出后入| 日韩精品久久久肉伦网站| 色综合88| 在线看片免费人成视久网不卡| 亚洲蜜臀av一区二区三区| 色一情一区二区三区四区| 国产亚洲欧美日韩综合一区在线观看 | 免费a级毛片无码a∨中文字幕下载| 失禁大喷潮在线播放| 亚洲先锋影院一区二区| 国产丝袜美腿一区二区三区| 77777_亚洲午夜久久多人| www国产亚洲精品久久网站| 日本一区二区三区中文字幕最新| 亚洲av网一区二区三区成人| 久久久国产精品va麻豆| 无遮挡边吃摸边吃奶边做| 69堂在线无码视频2020| 日本成人午夜一区二区三区| 乱人妻中文字幕| 亚洲欧美日韩专区一| av男人的天堂手机免费网站| 无码爽视频| 国产乱子伦一区二区三区| av无码特黄一级| 久久国产在线精品观看| 琪琪的色原网站| 亚洲自拍愉拍| 一区二区三区高清视频在线| 无码gogo大胆啪啪艺术|