Python與爬蟲
來源:互聯網  日期:2015-10-14
    • 分享到QQ空間

google:爬蟲C++,數據挖掘C++,nlpC++。python用來處理數據。


twitter:所有服務均用java和scala,python用來寫快速迭代的工具。比如說做搜索引擎的算法的同事寫了一個python客戶端用于內部測試搜索質量,我自己用py寫好了一個搜索詞推薦系統,包括接口,算法和界面,通過測試后改寫成java。py強項在于,其他語言幾百句做的事情py可以幾十行,幫助開發者專注問題。


Scrapy,Python開發的一個快速,高層次的屏幕抓取和web抓取框架,用于抓取web站點并從頁面中提取結構化的數據。Scrapy用途廣泛,可以用于數據挖掘、監測和自動化測試。


Scrapy吸引人的地方在于它是一個框架,任何人都可以根據需求方便的修改。它也提供了多種類型爬蟲的基類。一個為遍歷爬行網站、分解獲取數據而設計的應用程序框架,它可以應用在廣泛領域:數據挖掘、信息處理和或者歷史片(歷史記錄)打包等等。


Scrapy是一個基于Twisted,純Python實現的爬蟲框架,用戶只需要定制開發幾個模塊就可以輕松的實現一個爬蟲,用來抓取網頁內容以及各種圖片,非常之方便。Scrapy使用 Twisted這個異步網絡庫來處理網絡通訊,架構清晰,并且包含了各種中間件接口,可以靈活的完成各種需求。整體架構如下圖所示: 



 

綠線是數據流向,首先從初始URL 開始,Scheduler 會將其交給 Downloader 進行下載,下載之后會交給 Spider 進行分析,Spider分析出來的結果有兩種:一種是需要進一步抓取的鏈接,例如之前分析的“下一頁”的鏈接,這些東西會被傳回 Scheduler ;另一種是需要保存的數據,它們則被送到Item Pipeline 那里,那是對數據進行后期處理(詳細分析、過濾、存儲等)的地方。另外,在數據流動的通道里還可以安裝各種中間件,進行必要的處理。


建立一個爬蟲程序,并爬取指定網站上的內容

1.創建一個新的Scrapy.Project

2.定義你需要從網頁中提取的元素Item

3.實現一個Spider類,通過接口完成爬取URL和提取Item的功能

4.實現一個Item PipeLine類,完成Item的存儲功能

    • 分享到QQ空間
海南省体彩兑奖在哪里