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

        ?

        基于Scrapy的新浪微博數(shù)據(jù)爬蟲研究

        2023-06-22 17:02:47鄧曉璐姚松
        現(xiàn)代信息科技 2023年3期
        關(guān)鍵詞:設(shè)置研究

        鄧曉璐 姚松

        摘? 要:為了快速獲取到新浪微博中的數(shù)據(jù),在學(xué)習(xí)和分析當(dāng)前爬蟲技術(shù)的原理、核心模塊和運行過程的基礎(chǔ)上,文章將探索實現(xiàn)一個基于Scrapy框架的網(wǎng)絡(luò)爬蟲工具,以完成數(shù)據(jù)捕獲等目標(biāo)。該工具可根據(jù)一個或多個微博關(guān)鍵詞搜索相關(guān)微博信息,并將搜索結(jié)果寫入本地文件。實驗結(jié)果顯示:該爬蟲擁有較好的加速比,可以快速地獲取數(shù)據(jù),并且這些數(shù)據(jù)具有一定的實時性和準(zhǔn)確性。

        關(guān)鍵詞:Scrapy;新浪微博;數(shù)據(jù)抓取

        中圖分類號:TP391.3? 文獻標(biāo)識碼:A? 文章編號:2096-4706(2023)03-0044-04

        Research on MicroBlog Data Crawler Based on Scrapy

        DENG Xiaolu, YAO Song

        (Guangdong Polytechnic of Science and Technology, Zhuhai? 519090, China)

        Abstract: In order to quickly obtain the data in MicroBlog, based on learning and analyzing the principle, core modules and operation process of current crawler technology, this paper will explore and implement cyber crawler tool based on the Scrapy framework to achieve data capture and other goals. This tool can search relevant MicroBlog information according to one or more MicroBlog keywords, and write the search results into local files. The experimental results show that the crawler has a better speedup ratio and can quickly obtain data, and the data have a certain degree of real-time and accuracy.

        Keywords: Scrapy; MicroBlog; data capture

        0? 引? 言

        近年來,新興數(shù)據(jù)平臺的地位與日俱增,越來越多的人更加樂意通過網(wǎng)絡(luò)來關(guān)注當(dāng)前社會的熱點話題。微博作為新興數(shù)據(jù)平臺之一,自其投入開放以來,逐漸被越來越多的人所使用,同時,微博話題也正以指數(shù)的趨勢不斷增長,這些話題涉及眾多維度。在信息爆炸的時代,微博主題的不同指標(biāo)成為研究人員的重要研究數(shù)據(jù),比如近幾年火爆的推薦系統(tǒng)等。因此,如何高質(zhì)量且個性化的獲取微博數(shù)據(jù)對研究者和運營者具有非常重要的意義。

        然而,新浪微博并未提供相應(yīng)的數(shù)據(jù)接口供研究人員使用,目前國內(nèi)有一些網(wǎng)站提供公開數(shù)據(jù),但這些數(shù)據(jù)量非常有限,并且類似于推薦系統(tǒng)這類研究,對數(shù)據(jù)的實時性具有很高的要求。眾所周知,微博熱點話題隨著時間的推移、人們關(guān)注程度而不斷更新的,如以往的話題熱點可能成為現(xiàn)在的非熱點,從而使其推薦價值降低;同樣的,一條非熱點話題也可能變?yōu)楝F(xiàn)在的熱點話題。微博話題的這些特征也給微博話題推薦算法帶來了越來越多的挑戰(zhàn),因此,如何提高抓取微博數(shù)據(jù)的實時性也有重要的研究價值。

        本文所提供的爬蟲工具可以模擬客戶端操作,如用戶登錄、查看微博話題、查看評論等,通過設(shè)置某些條件,獲取某個時間段內(nèi)一個或多個微博關(guān)鍵詞搜索結(jié)果,并將結(jié)果寫入本地文件且永久保存。所謂微博關(guān)鍵詞搜索即:搜索正文中包含指定關(guān)鍵詞的微博;本系統(tǒng)還可以指定搜索的時間范圍,能更好地匹配研究者的研究需求;此外,本系統(tǒng)還可以通過設(shè)置參數(shù)篩選各種要搜索的微博類型,如原創(chuàng)微博、熱門微博、關(guān)注人微博、媒體微博等。使用本爬蟲一方面可以節(jié)省研究人員的時間,讓他們專注于數(shù)據(jù)分析上,同時也更加能夠匹配研究人員的需求。

        1? 網(wǎng)絡(luò)爬蟲現(xiàn)狀

        網(wǎng)絡(luò)爬蟲是自動提取網(wǎng)頁數(shù)據(jù)的程序,近幾年關(guān)于網(wǎng)絡(luò)爬蟲的研究不計其數(shù),謝蓉蓉[1]等人通過分析網(wǎng)絡(luò)爬蟲操作的基本流程,按照流程提取了大數(shù)據(jù)的關(guān)鍵特征,然后根據(jù)特征提取結(jié)果提出了基于網(wǎng)絡(luò)爬蟲的數(shù)據(jù)捕獲策略;李俊華[2]等人利用Python網(wǎng)絡(luò)爬蟲的相關(guān)知識對豆瓣電影評論進行了一次抓取,并使用可視化庫生成單詞云并對其進行分析。王鋒[3]等人針對當(dāng)前影響爬蟲程序效率的許多關(guān)鍵因素,在研究爬蟲程序內(nèi)部運行機制的基礎(chǔ)上,優(yōu)化了爬蟲程序的架構(gòu)并改進了相關(guān)算法。SU[4]等人首先分析了爬蟲的功能結(jié)構(gòu),然后提出了一個三層爬蟲模型。針對海量專題組織數(shù)據(jù)的空間信息和屬性信息缺失的問題,楊宇[5]等人提出了一種基于爬蟲框架的專題組織數(shù)據(jù)空間信息采集方法,以專題組織信息網(wǎng)站為信息源,以深度優(yōu)先策略爬蟲為信息獲取方式。曾建榮[6]等人提出了一種面向多數(shù)據(jù)源的網(wǎng)絡(luò)爬蟲數(shù)據(jù)采集技術(shù),解決了現(xiàn)有爬蟲技術(shù)不便于采集多源數(shù)據(jù)的問題。在研究新浪微博、人民日報、百度百科全書、百度貼吧、微信公眾號、東方財富吧六大媒體平臺上的數(shù)據(jù)采集爬蟲的基礎(chǔ)上,采用Servlet后臺調(diào)度技術(shù),整合面向多數(shù)據(jù)源的網(wǎng)絡(luò)爬蟲,解決了不同媒體平臺的數(shù)據(jù)采集問題。張寧蒙[7]等人提出了一種結(jié)合LDA的卷積神經(jīng)網(wǎng)絡(luò)主題爬蟲,將主題判斷模塊視為一個文本分類問題,并使用深度神經(jīng)網(wǎng)絡(luò)來提高主題爬蟲的性能。在卷積層之后,對LDA提取的主題特征進行拼接,以彌補傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)中主題信息的不足。汪巋等人[8]提出融合LDA的卷積神經(jīng)網(wǎng)絡(luò)主題爬蟲,將主題判斷模塊視為文本分類問題,利用深度神經(jīng)網(wǎng)絡(luò)提升主題爬蟲的性能。李俊華[2]龍香妤[9]張勝敏[10]等人面對獲取有用信息的需求,在通用網(wǎng)絡(luò)爬蟲技術(shù)的基礎(chǔ)上,利用Python軟件對爬蟲數(shù)據(jù)采集器進行了深度優(yōu)化。然而新浪微博一方面具有反爬蟲機制,一方面又具有較復(fù)雜的登錄機制,因此,普通爬蟲很難直接拿過來直接獲取微博數(shù)據(jù),針對這種問題,本文開發(fā)出一款專門適用于新浪微博的爬蟲工具。

        2? 模擬用戶登錄

        由于登錄是新浪微博訪問數(shù)據(jù)的必要步驟,所以本爬蟲工具首先需要解決的問題就是如何登錄微博。通過分析微博平臺代碼可知,登錄微博時客戶端需要向服務(wù)器端發(fā)送請求,服務(wù)器端會在收到請求后生成并返回密鑰給客戶端,客戶端收到密鑰后結(jié)合著用戶的ID和密碼一并發(fā)給服務(wù)器端,微博服務(wù)器端驗證通過后則進入當(dāng)前用戶的登錄狀態(tài)。登錄具體方式描述如下:

        首先使用者需要設(shè)置cookie值。DEFAULT_REQUEST_HEADERS中的cookie是需要填的值,其獲取方式為:用Chrome打開https://weibo.com/。使用者模擬用戶登錄成功之后,按F12打開開發(fā)者工具,在開發(fā)者工具的Network->whitelist->Request Headers,找到"Cookie:"后的值,這就是要找的cookie值,將其復(fù)制即可,如圖1所示。

        3? 設(shè)置爬蟲參數(shù)

        使用者應(yīng)按照自身需求設(shè)置搜索關(guān)鍵詞,本爬蟲支持搜索包含一個或多個關(guān)鍵詞、分別搜索包括多個關(guān)鍵詞、搜索某個微博話題等。使用者在設(shè)置關(guān)鍵詞時,可以直接通過代碼設(shè)置,也可以通過文本文檔設(shè)置后,將其傳到代碼中。具體示例如下:

        首先,用戶需要修改setting.py文件夾中的KEYWORD_LIST參數(shù),接著使用者根據(jù)不同需求進行以下設(shè)置:

        如用戶需要搜索微博正文包含一個指定關(guān)鍵詞,如“聽_貓在裙角”:

        KEYWORD_LIST = ['聽_貓在裙角'];

        如用戶需要搜索微博正文包含多個關(guān)鍵詞,如想要分別獲得“聽_貓在裙角”和“璐璐”的搜索結(jié)果:

        KEYWORD_LIST = ['聽_貓在裙角', '璐璐'];

        如用戶需要搜索微博正文同時包含多個關(guān)鍵詞的微博,如同時包含“聽_貓在裙角”和“璐璐”微博的搜索結(jié)果:

        KEYWORD_LIST = ['聽_貓在裙角 璐璐'];

        如用戶需要搜索指定微博話題,即包含#的內(nèi)容,如“#聽_貓在裙角#”:

        EYWORD_LIST = ['#聽_貓在裙角#'];

        本爬蟲支持設(shè)置是否進一步搜索的閾值,一般情況下,如果在某個搜索條件下,搜索結(jié)果通常會有很多,則搜索結(jié)果應(yīng)該有50頁微博,多于50頁不顯示。當(dāng)總頁數(shù)等于50時,程序認為搜索結(jié)果可能沒有顯示完全,所以會繼續(xù)細分。比如,若當(dāng)前是按天搜索的,程序會把當(dāng)前的1個搜索分成24個搜索,每個搜索的條件粒度是小時,這樣就能獲取在天粒度下無法完全獲取的微博。同理,如果小時粒度下總頁數(shù)仍然是50,系統(tǒng)則會繼續(xù)細分,以此類推。然而,有一些關(guān)鍵詞,搜索結(jié)果即便很多,也只顯示40多頁。所以此時如果閾值是50,程序會認為只有這么多微博,不再繼續(xù)細分,導(dǎo)致很多微博沒有獲取。因此為了獲取更多微博,閾值應(yīng)該是小于50的數(shù)字。但是如果設(shè)置的特別小,如設(shè)置為1,這樣即便結(jié)果真的只有幾頁,程序也會細分,這些沒有必要的細分會使程序速度降低。因此,將程序的閾值設(shè)置為40~46之間。如使用者將搜索閾值設(shè)置為46,只需要設(shè)置代碼FURTHER_THRESHOLD = 46即可。

        設(shè)置好搜索閾值后,使用者需要設(shè)置結(jié)果保存類型,第一個代表去重,第二個代表寫入csv文件,第三個代表下載圖片,第四個代表下載視頻。后面的數(shù)字代表執(zhí)行的順序,數(shù)字越小優(yōu)先級越高。若使用者只要寫入部分類型,可以把不需要的類型用“#”注釋掉,以節(jié)省資源。本系統(tǒng)還可以篩選要搜索的微博類型,0代表搜索全部微博,1代表搜索全部原創(chuàng)微博,2代表熱門微博,3代表關(guān)注人微博,4代表認證用戶微博,5代表媒體微博,6代表觀點微博。如使用者需要搜索全部原創(chuàng)微博,只需設(shè)置代碼WEIBO_TYPE = 1即可。

        在爬蟲系統(tǒng)爬取數(shù)據(jù)的過程中,使用者需要設(shè)置等待時間,所謂等待時間,即訪問完一個頁面再訪問下一個時需要等待的時間,默認為10秒。系統(tǒng)支持篩選結(jié)果微博中必須包含的內(nèi)容,0代表不篩選,獲取全部微博,1代表搜索包含圖片的微博,2代表包含視頻的微博,3代表包含音樂的微博,4代表包含短鏈接的微博。如,當(dāng)使用者想需要爬蟲等待時間為15秒,且在搜索中包含圖片的微博,只需設(shè)置代碼DOWNLOAD_DELAY = 15;CONTAIN_TYPE = 1即可。

        設(shè)置好搜索關(guān)鍵詞后,使用者可以設(shè)置搜索微博發(fā)布的時間范圍,即微博發(fā)布的起始日期和結(jié)束日期。本系統(tǒng)篩選微博的發(fā)布地區(qū)時,可以精確到省或直轄市,值不應(yīng)包含“省”或“市”等字,如想篩選北京市的微博請用“北京”而不是“北京市”,想要篩選安徽省的微博請用“安徽”而不是“安徽省”,可以寫多個地區(qū),注意本系統(tǒng)只支持省或直轄市的名字,不支持省下面的市名及直轄市下面的區(qū)縣名,不篩選則用“全部”。如,當(dāng)使用者篩選微博發(fā)布日期為2020-06-01到2020-06-02之間且發(fā)布地區(qū)為“山東”的微博時,只需設(shè)置代碼START_DATE = '2022-05-01;END_DATE = '2022-05-02';REGION =['山東']即可。

        其中,各個變量表示的含義如表1所示。

        4? 實驗與分析

        4.1? 并行效率分析

        對本文爬蟲的并行效率進行分析,分別在不同CPU核數(shù)的計算機上抓取了以“校企合作”為關(guān)鍵詞的微博,其中運行設(shè)備的具體配置與型號如表2所示。

        如圖2和表3所示,隨著CPU核數(shù)的增加,該爬蟲的加速比呈線性增長趨勢。

        由圖2可得出結(jié)論:該爬蟲在CPU核數(shù)為2時并無顯著的加速效果,但隨著CPU核數(shù)的增加,加速比也呈現(xiàn)線性增加的趨勢,這表明該爬蟲在抓取大量數(shù)據(jù)時具有很好的加速效果。

        4.2? 校企合作數(shù)據(jù)分析

        在該實驗中,本文針對關(guān)鍵詞“校企合作”,獲取了在2012年1月至2022年1月這個時間段內(nèi)的共2 904 270條微博,部分結(jié)果如圖3所示,并且將獲取微博所發(fā)布的時間記錄下并作圖分析。

        如圖4所示,是“校企合作”相關(guān)微博的發(fā)布數(shù)量在2012年到2022年不同年份變化曲線,可以看出:有關(guān)于“校企合作”的話題數(shù)量在總體上呈現(xiàn)出指數(shù)增長的趨勢,由此可以看出,此爬蟲工具具有非常重要的應(yīng)用價值,使用者完全可以根據(jù)其研究方向及需要進行數(shù)據(jù)的實時爬取,從而進行必要的研究分析。

        5? 結(jié)? 論

        本文以為社交網(wǎng)絡(luò)研究者們提供優(yōu)質(zhì)的研究數(shù)據(jù)為目標(biāo),設(shè)計了一款方便快捷的新浪微博數(shù)據(jù)獲取工具。經(jīng)實驗驗證,該工具具有使用方便、支持關(guān)鍵字匹配、支持并行的特點,使用者只需提供微博賬號、設(shè)置好抓取的微博關(guān)鍵字,即可利用本工具進行數(shù)據(jù)抓取,并將抓取的數(shù)據(jù)永久性保留至本地文件內(nèi)。很好地解決了目前國內(nèi)社交軟件研究者們研究數(shù)據(jù)匱乏的問題,具有很大的使用價值。

        參考文獻:

        [1] 謝蓉蓉,徐慧,鄭帥位,等.基于網(wǎng)絡(luò)爬蟲的網(wǎng)頁大數(shù)據(jù)抓取方法仿真 [J].計算機仿真,2021,38(6):439-443.

        [2] 李俊華.基于Python的網(wǎng)絡(luò)爬蟲研究 [J].現(xiàn)代信息科技,2019,3(20):26-27+30.

        [3] 王鋒,王偉,張璟,等.基于Linux的網(wǎng)絡(luò)爬蟲系統(tǒng) [J].計算機工程,2010,36(1):280-282.

        [4] SU F,LIN Z W,MA Y. Modeling and Analysis of Internet Worm Propagation [J].The Journal of China Universities of Posts and Telecommunications,2010,17(4):63-68.

        [5] 楊宇,孫亞琴,閆志剛.網(wǎng)絡(luò)爬蟲的專題機構(gòu)數(shù)據(jù)空間信息采集方法 [J].測繪科學(xué),2019,44(7):122-127+140.

        [6] 曾健榮,張仰森,鄭佳,等.面向多數(shù)據(jù)源的網(wǎng)絡(luò)爬蟲實現(xiàn)技術(shù)及應(yīng)用 [J].計算機科學(xué),2019,46(5):304-309.

        [7] 張寧蒙.基于Python的網(wǎng)絡(luò)爬蟲技術(shù)探析 [J].移動信息,2020(2):84-85.

        [8] 汪巋,費晨杰,劉柏嵩.融合LDA的卷積神經(jīng)網(wǎng)絡(luò)主題爬蟲研究 [J].計算機工程與應(yīng)用,2019,55(11):123-128+178.

        [9] 龍香妤.基于網(wǎng)絡(luò)爬蟲技術(shù)的數(shù)據(jù)抓取程序的設(shè)計 [J].技術(shù)與市場,2021,28(10):41-43.

        [10] 張勝敏,王愛菊.基于Python的分布式多主題網(wǎng)絡(luò)爬蟲的研究與設(shè)計 [J].開封大學(xué)學(xué)報,2021,35(1):93-96.

        作者簡介:鄧曉璐(1994.01—),女,漢族,江蘇徐州人,助教,碩士研究生,研究方向:推薦系統(tǒng);姚松(1997.11—),男,漢族,廣東珠海人,助理研究員,碩士研究生,研究方向:數(shù)據(jù)挖掘。

        收稿日期:2022-09-14

        基金項目:廣東省教育廳科研項目-青年創(chuàng)新人才類項目(2020KQNCX157)

        猜你喜歡
        設(shè)置研究
        FMS與YBT相關(guān)性的實證研究
        2020年國內(nèi)翻譯研究述評
        遼代千人邑研究述論
        中隊崗位該如何設(shè)置
        少先隊活動(2021年4期)2021-07-23 01:46:22
        視錯覺在平面設(shè)計中的應(yīng)用與研究
        科技傳播(2019年22期)2020-01-14 03:06:54
        EMA伺服控制系統(tǒng)研究
        7招教你手動設(shè)置參數(shù)
        新版C-NCAP側(cè)面碰撞假人損傷研究
        本刊欄目設(shè)置說明
        中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
        成人在线视频亚洲国产| 日韩成人大屁股内射喷水| 麻豆国产成人av高清在线观看| 亚洲狼人社区av在线观看| 少妇又色又爽又刺激的视频| 无码国产精成人午夜视频一区二区 | 精品国产一区二区三区不卡在线| 三年片大全在线观看免费观看大全| 亚洲欧美成人a∨| 国产精品亚洲婷婷99久久精品| 99久久精品一区二区国产| 日韩精品视频一区二区三区| 亚洲av无码资源在线观看| 精品人妻一区二区三区在线观看| 又粗又大又硬毛片免费看| 国内揄拍国内精品少妇国语| 最新福利姬在线视频国产观看| 成人免费av高清在线| 国产成年女人毛片80s网站| 国产精品久久久久久久成人午夜| 亚洲专区在线观看第三页| 亚洲国产精品久久又爽av| 久久国产精品久久久久久| 色综合另类小说图片区| 一区二区三区日本久久| 精品无码一区二区三区爱欲| 永久免费的av在线电影网无码 | 蜜桃av一区在线观看| 国产精品会所一区二区三区| 国产呦系列呦交| 国产91在线精品福利| 人妻中文字幕一区二区视频| 日本阿v片在线播放免费| 热99re久久精品这里都是免费| 免费观看在线一区二区| 2021国产精品视频网站| 好吊妞无缓冲视频观看| 欧美人成人亚洲专区中文字幕| 一区二区三区岛国av毛片| 人妻少妇偷人精品久久性色av| 被群cao的合不拢腿h纯肉视频|