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

        ?

        基于Python的爬蟲系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        2020-09-10 00:11:40呂定輝
        關(guān)鍵詞:策略系統(tǒng)

        摘要:隨著互聯(lián)網(wǎng)技術(shù)發(fā)展,網(wǎng)絡(luò)所承載的數(shù)據(jù)逐漸體現(xiàn)其價(jià)值,且網(wǎng)絡(luò)數(shù)據(jù)體量日益倍增,對(duì)網(wǎng)絡(luò)數(shù)據(jù)的利用越來越受到各行各業(yè)的重視。該網(wǎng)絡(luò)爬蟲系統(tǒng)以基于Python語言的Scrapy網(wǎng)絡(luò)爬蟲框架技術(shù)為基礎(chǔ),綜合考慮對(duì)反爬機(jī)制的應(yīng)對(duì)措施及相關(guān)系統(tǒng)優(yōu)化,滿足一定的爬取效率要求,便于數(shù)據(jù)挖掘等數(shù)據(jù)研究利用。系統(tǒng)主要實(shí)現(xiàn)了實(shí)體管道模塊、爬蟲業(yè)務(wù)模塊、中間件模塊、Cookies池模塊。過程中涉及到的關(guān)鍵技術(shù)主要包括Cookies池服務(wù)、反爬蟲策略、頁(yè)面解析、Selenium+ChromeDriver實(shí)現(xiàn)模擬訪問、MongoDB實(shí)現(xiàn)數(shù)據(jù)持久化存儲(chǔ)等。

        關(guān)鍵詞:爬蟲;Scrapy框架;Selenium+ChromeDriver;MongoDB

        1.項(xiàng)目研究的背景及意義

        隨著大數(shù)據(jù)發(fā)展戰(zhàn)略的逐步推進(jìn),打破信息孤島,合理整合利用數(shù)據(jù)信息成為信息融合技術(shù)的關(guān)鍵要素[1]。而及時(shí)掌握各種消息并對(duì)其進(jìn)行分析和處理具有重大社會(huì)意義。隨著國(guó)家持續(xù)推進(jìn)全國(guó)網(wǎng)絡(luò)安全和信息化建設(shè),互聯(lián)網(wǎng)信息技術(shù)不斷創(chuàng)新發(fā)展,經(jīng)濟(jì)數(shù)字化轉(zhuǎn)型已成大勢(shì)所趨[2]。隨著網(wǎng)絡(luò)效應(yīng)的不斷增強(qiáng),微博等用戶群體的不斷擴(kuò)大,其中某些平臺(tái)每天都會(huì)有過億的博文發(fā)送量及轉(zhuǎn)發(fā)量,在網(wǎng)絡(luò)數(shù)據(jù)產(chǎn)生和消費(fèi)中占到很大比例。

        網(wǎng)絡(luò)爬蟲技術(shù)作為對(duì)網(wǎng)絡(luò)數(shù)據(jù)提取的基本技術(shù)在近些年隨網(wǎng)絡(luò)信息技術(shù)發(fā)展也不斷推陳出新,既是作為搜索引擎的基礎(chǔ)結(jié)構(gòu)推動(dòng)著互聯(lián)網(wǎng)網(wǎng)頁(yè)瀏覽訪問的基本進(jìn)程,又為新時(shí)代數(shù)據(jù)技術(shù)提供著多樣化的功能性應(yīng)用場(chǎng)景[3]。Python語言作為當(dāng)今流行語言之一,以廣泛的開源庫(kù)支持和語言特性與爬蟲系統(tǒng)開發(fā)有著很高的契合度[4]。

        信息數(shù)據(jù)利用價(jià)值越來越重視,諸多門戶網(wǎng)站開始并逐步加強(qiáng)對(duì)可能的數(shù)據(jù)訪問行為進(jìn)行判斷和分析,對(duì)其中的非法訪問采取很多有效防范措施,因此在合法的應(yīng)用范圍內(nèi)相關(guān)網(wǎng)絡(luò)爬蟲需要遵循相應(yīng)的數(shù)據(jù)訪問方式,本文基于Scrapy網(wǎng)絡(luò)爬蟲框架、Python語言等相關(guān)技術(shù),并結(jié)合目前主流社交平臺(tái)研究、設(shè)計(jì)并開發(fā)了網(wǎng)絡(luò)爬蟲系統(tǒng),實(shí)現(xiàn)數(shù)據(jù)的爬取。

        2.爬蟲的種類及爬取策略

        根據(jù)所構(gòu)建的爬蟲系統(tǒng)所應(yīng)用的場(chǎng)景,常將爬蟲技術(shù)分為三類:通用爬蟲、聚焦爬蟲、增量式爬蟲。通用爬蟲通常應(yīng)用在搜索引擎系統(tǒng)中,聚焦爬蟲通常應(yīng)用于對(duì)特定人群提供主題信息服務(wù)的系統(tǒng)中,增量式爬蟲主要應(yīng)用于特定網(wǎng)站的數(shù)據(jù)持續(xù)獲取系統(tǒng)中。

        主要的爬行策略有深度優(yōu)先爬行策略、廣度優(yōu)先爬行策略、大站優(yōu)先策略、反鏈策略、其他爬行策略等。除了以上這些策略,還有一些特定場(chǎng)景下比較適用的爬蟲策略如OPIC策略、PartialPageRank策略等[5]。

        反爬機(jī)制指的是相關(guān)門戶網(wǎng)站為了防止網(wǎng)站重要數(shù)據(jù)的泄露或網(wǎng)站異常訪問造成不利影響,在網(wǎng)站設(shè)計(jì)時(shí)運(yùn)用一些策略或技術(shù)手段限制用戶訪問,通過對(duì)敏感行為的分析和控制來防止爬蟲工具對(duì)網(wǎng)站的異常訪問。

        在爬取過程中需要充分考慮目標(biāo)網(wǎng)站的反爬機(jī)制,做到合理合法的獲取數(shù)據(jù)。

        3.系統(tǒng)使用到的關(guān)鍵技術(shù)

        URL去重可以以下集中策略來實(shí)現(xiàn)(1)數(shù)據(jù)庫(kù)去重,(2)集合去重,(3)基于集合的Hash優(yōu)化去重,(4)布隆過濾器。

        網(wǎng)頁(yè)解析分為靜態(tài)頁(yè)面解析和動(dòng)態(tài)頁(yè)面解析。

        數(shù)據(jù)庫(kù)采用MongoDB。數(shù)據(jù)存儲(chǔ)采用BSON格式來進(jìn)行以獲取更快的速度和更高的安全性。

        網(wǎng)站登錄機(jī)制采用模擬登錄方法來進(jìn)行。

        4.需求分析及系統(tǒng)實(shí)現(xiàn)

        系統(tǒng)總體來看有如下幾點(diǎn)需求:(1)克服反爬機(jī)制,(2)實(shí)現(xiàn)爬蟲邏輯,(3)數(shù)據(jù)存儲(chǔ)。系統(tǒng)對(duì)硬件資源的需求主要取決于爬蟲系統(tǒng)的執(zhí)行效率要求,依據(jù)已有的相關(guān)爬蟲項(xiàng)目建設(shè)情況來看,實(shí)現(xiàn)單日萬級(jí)、十萬級(jí)、百萬級(jí)、千萬級(jí)爬取量所要求硬件條件逐漸提升。開發(fā)上充分考慮所需要的時(shí)間周期,為在有效期限內(nèi)完成項(xiàng)目的有效成品,本系統(tǒng)采用增量式開發(fā),在項(xiàng)目初期完成基本業(yè)務(wù)邏輯實(shí)現(xiàn)系統(tǒng)基本功能,而后通過擴(kuò)展接口不斷提高系統(tǒng)執(zhí)行效率和擴(kuò)展功能。

        本系統(tǒng)的非功能性需求主要體現(xiàn)在運(yùn)行使用的穩(wěn)定性和擴(kuò)展性等方面。例如:執(zhí)行效率、可靠性、可擴(kuò)展性等。

        作為單機(jī)應(yīng)用系統(tǒng)開發(fā),項(xiàng)目采用分層架構(gòu),結(jié)合Scrapy框架技術(shù)在具體系統(tǒng)分層上有五個(gè)層次,系統(tǒng)架構(gòu)如圖1所示。

        在軟件程序設(shè)計(jì)方面所要實(shí)現(xiàn)的具體的功能模塊主要在中間件層、業(yè)務(wù)邏輯層與管道層。

        對(duì)于本系統(tǒng)所爬取的數(shù)據(jù),常常是半結(jié)構(gòu)型數(shù)據(jù),用傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ)一方面會(huì)對(duì)系統(tǒng)執(zhí)行效率有較大影響,另一方面也不利于數(shù)據(jù)的后續(xù)使用,因此本系統(tǒng)采用基于NoSQL查詢語句的MongoDB數(shù)據(jù)庫(kù)。

        5.總結(jié)與展望

        本系統(tǒng)以基于Python語言的Scrapy網(wǎng)絡(luò)爬蟲框架為基礎(chǔ),利用Selenium + Chrome模擬登陸、頁(yè)面解析技術(shù)、UA偽裝、MongoDB等技術(shù),具體實(shí)現(xiàn)了實(shí)體管道、爬蟲、中間件、服務(wù)池等模塊,完成了對(duì)用戶信息、用戶關(guān)系、用戶發(fā)表信息等數(shù)據(jù)的爬取和持久化存儲(chǔ)。

        系統(tǒng)不足之處:在實(shí)現(xiàn)上系統(tǒng)采用了單機(jī)架構(gòu),數(shù)據(jù)爬取效率在一定程度上受到了限制。

        參考文獻(xiàn):

        [1]KEVIN.網(wǎng)絡(luò)爬蟲技術(shù)原理[J].計(jì)算機(jī)與網(wǎng)絡(luò),2018,44(10).

        [2]高宇,楊小兵.基于聚焦型網(wǎng)絡(luò)爬蟲的影評(píng)獲取技術(shù)[J].中國(guó)計(jì)量大學(xué)學(xué)報(bào),2018,29(3).

        [3][美]瑞安·米切爾(RyanMitchell).Python網(wǎng)絡(luò)爬蟲權(quán)威指南第2版.人民郵電出版社,2019.

        [4]楊建.分布式網(wǎng)絡(luò)爬蟲技術(shù)及對(duì)其安全防御研究[J].網(wǎng)絡(luò)安全技術(shù)與用,2018(04):6-7

        [5]汪兵.基于Scrapy框架的分布式爬蟲系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].合肥工業(yè)大學(xué),2019.

        基金項(xiàng)目:2017年度河南省高等學(xué)校青年骨干教師培養(yǎng)計(jì)劃項(xiàng)目“基于XSLT和STACS的高校云智慧校園建設(shè)研究”(項(xiàng)目編號(hào):2017GGJS292)。

        作者簡(jiǎn)介:呂定輝(1980-),男,碩士研究生/講師,研究方向:計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)。

        猜你喜歡
        策略系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        基于“選—練—評(píng)”一體化的二輪復(fù)習(xí)策略
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        求初相φ的常見策略
        例談未知角三角函數(shù)值的求解策略
        基于PowerPC+FPGA顯示系統(tǒng)
        我說你做講策略
        半沸制皂系統(tǒng)(下)
        高中數(shù)學(xué)復(fù)習(xí)的具體策略
        超薄丝袜足j好爽在线观看| 中国男女黄色完整视频| 欧美又大粗又爽又黄大片视频| 99精品人妻少妇一区二区| 在线免费毛片| 91青青草在线观看视频| 亚洲高清一区二区三区在线播放 | 亚洲伊人久久大香线蕉综合图片| 久草视频华人在线观看| 一区二区三区免费观看日本| 国产免费爽爽视频在线观看| 丰满少妇被猛烈进入无码| 中文字幕有码高清| 少妇被爽到高潮喷水免费福利| 女人被狂躁c到高潮视频| 热の国产AV| 丝袜美腿久久亚洲一区| 日本一区二区精品高清| 女人高潮被爽到呻吟在线观看| 久久99国产伦精品免费| 久久人妻精品中文字幕一区二区| av网站免费线看精品| 人人妻人人澡人人爽欧美二区| 亚洲一区区| 最新在线观看免费的a站国产| 国产午夜毛片v一区二区三区| 日本色噜噜| 亚洲成人免费久久av| 欧美性生交大片免费看app麻豆 | 免费大片黄在线观看| 国产人成在线成免费视频| 日本一区二区不卡精品| 欧美在线 | 亚洲| 午夜福利影院不卡影院| 亚洲1区第2区第3区在线播放 | 一区二区三区国产美女在线播放| 亚洲视频在线观看第一页| 精品免费久久久久久久| 一区二区无码中出| 国产一区二区三区白浆肉丝| 中文字幕人乱码中文字幕|