<pre id="p1pz5"><delect id="p1pz5"></delect></pre>
<output id="p1pz5"><delect id="p1pz5"><listing id="p1pz5"></listing></delect></output>

<p id="p1pz5"></p>

<pre id="p1pz5"></pre>

<p id="p1pz5"></p>
<pre id="p1pz5"><output id="p1pz5"></output></pre>
<pre id="p1pz5"><output id="p1pz5"><delect id="p1pz5"></delect></output></pre><pre id="p1pz5"></pre>

<p id="p1pz5"><output id="p1pz5"></output></p>

<p id="p1pz5"><output id="p1pz5"><menuitem id="p1pz5"></menuitem></output></p>

<output id="p1pz5"></output>
<pre id="p1pz5"><output id="p1pz5"></output></pre>

<p id="p1pz5"><delect id="p1pz5"><menuitem id="p1pz5"></menuitem></delect></p>

<p id="p1pz5"></p>
<p id="p1pz5"><output id="p1pz5"></output></p>
<p id="p1pz5"><output id="p1pz5"></output></p>

<p id="p1pz5"><output id="p1pz5"></output></p>
<p id="p1pz5"></p>

<output id="p1pz5"><delect id="p1pz5"></delect></output>

<p id="p1pz5"></p>

<p id="p1pz5"></p>

<p id="p1pz5"></p>
<p id="p1pz5"><delect id="p1pz5"><address id="p1pz5"></address></delect></p>

<pre id="p1pz5"></pre>

<pre id="p1pz5"><output id="p1pz5"><delect id="p1pz5"></delect></output></pre>

畢業設計網
JSP,JAVA | python | nodejs | android,安卓 | PHP | 微信小程序 |

基于Python的網絡爬蟲程序設計

近年來,隨著網絡應用的逐漸擴展和深入,如何高效的獲取網上數據成為了無數公司和個人的追求,在大數據時代,誰掌握了更多的數據,誰就可以獲得更高的利益,而網絡爬蟲是其中最為常用的一種從網上爬取數據的手段。
(1)爬蟲主要功能如下:
Scrapy Engine(引擎): 負責Spider、ItemPipeline、Downloader、Scheduler中間的通訊,信號、數據傳遞等。
Scheduler(調度器): 它負責接受引擎發送過來的Request請求,并按照一定的方式進行整理排列,入隊,當引擎需要時,交還給引擎。
Downloader(下載器):負責下載Scrapy Engine(引擎)發送的所有Requests請求,并將其獲取到的Responses交還給Scrapy Engine(引擎),由引擎交給Spider來處理。
Spider(爬蟲):它負責處理所有Responses,從中分析提取數據,獲取Item字段需要的數據,并將需要跟進的URL提交給引擎,再次進入Scheduler(調度器)。
Item Pipeline(管道):它負責處理Spider中獲取到的Item,并進行進行后期處理(詳細分析、過濾、存儲等)的地方。
Downloader Middlewares(下載中間件):你可以當作是一個可以自定義擴展下載功能的組件。
Spider Middlewares(Spider中間件):你可以理解為是一個可以自定擴展和操作引擎和Spider中間通信的功能組件(比如進入Spider的Responses;和從Spider出去的Requests)
要分為以下幾個模塊:
1、爬蟲功能
網絡爬蟲從初始地址開始,根據spider中定義的目標地址獲的正則表達式或者Xpath獲得更多的網頁鏈接,并加入到待下載隊列當中,進行去重和排序之后,等待調度器的調度。
在這個系統中,新的鏈接可以分為兩類,一類是目錄頁鏈接,也就是我們通?吹降南乱豁摰逆溄,一類是內容詳情頁鏈接,也就是我們需要解析網頁提取字段的鏈接,指向的就是實際的房源信息頁面。網絡需從每一個目錄頁鏈接當中,提取到多個內容頁鏈接,加入到待下載隊列準備進一步爬取內容數據字段的設計。
2、數據存儲
數據抓取程序中定義了抓取網頁的規則和使用Xpath提取字段數據的方法等,這里著重介紹Xpath提取字符數據的方法,Xapth使用路徑表達式來選取網頁文檔中的節點或者節點集。在Xpath中有其中類型的幾點:元素、屬性、文本、命名空間、處理指令、注釋和文檔節點。網頁文檔是被當做節點樹來對待,樹的跟被稱為文檔節點和根節點,通過Xpath表達式定位目標節點即可抽取網頁文檔的字段數據。
數據存儲模塊主要負責將slave端爬取解析的頁面進行存儲。使用Mongodb對數據進行存儲。
Scrapy支持數據存儲的格式有json,csv和xml等文本格式,用戶可以在運行爬蟲時設置,例如:scrapy crawl spider -o items.json -t json,也可以在Scrapy工程文件額ItemPipline文件中定義,同時,Scrapy也支持數據庫存儲,如Monogdb,Redis等,當數據量大到一定程度時,可以做Mongodb或者Reids的集群來解決問題,本課題存儲到csv中。
3、數據可視化
數據的可視化其實也就是將數據庫的數據轉換成我們用戶容易觀察的形式,本課題使用D3.js設計界面展示。
 

以上是一部分介紹,如需要完整的資料或者如不符合您的要求,請聯系技術人員qq:242219979咨詢

上一篇:基于RBAC與工作流融合的企業辦公系統
下一篇:基于Java的學校體育信息管理系統


版權所有 畢業設計網聯系qq:242219979 © 2007-2022

蝴蝶中文综合娱乐网

<pre id="p1pz5"><delect id="p1pz5"></delect></pre>
<output id="p1pz5"><delect id="p1pz5"><listing id="p1pz5"></listing></delect></output>

<p id="p1pz5"></p>

<pre id="p1pz5"></pre>

<p id="p1pz5"></p>
<pre id="p1pz5"><output id="p1pz5"></output></pre>
<pre id="p1pz5"><output id="p1pz5"><delect id="p1pz5"></delect></output></pre><pre id="p1pz5"></pre>

<p id="p1pz5"><output id="p1pz5"></output></p>

<p id="p1pz5"><output id="p1pz5"><menuitem id="p1pz5"></menuitem></output></p>

<output id="p1pz5"></output>
<pre id="p1pz5"><output id="p1pz5"></output></pre>

<p id="p1pz5"><delect id="p1pz5"><menuitem id="p1pz5"></menuitem></delect></p>

<p id="p1pz5"></p>
<p id="p1pz5"><output id="p1pz5"></output></p>
<p id="p1pz5"><output id="p1pz5"></output></p>

<p id="p1pz5"><output id="p1pz5"></output></p>
<p id="p1pz5"></p>

<output id="p1pz5"><delect id="p1pz5"></delect></output>

<p id="p1pz5"></p>

<p id="p1pz5"></p>

<p id="p1pz5"></p>
<p id="p1pz5"><delect id="p1pz5"><address id="p1pz5"></address></delect></p>

<pre id="p1pz5"></pre>

<pre id="p1pz5"><output id="p1pz5"><delect id="p1pz5"></delect></output></pre>