引擎(scrapy engine):用來處理整個系統的資料流處理, 觸發事務(框架核心),可以模擬為指揮部。
排程器(scheduler):主要是解析頁面資訊, 用於從特定的網頁中提取自己需要的資訊, 即所謂的實體(item)。使用者也可以從中提取出鏈結,讓scrapy繼續抓取下乙個頁面
專案管道(pipeline):介於scrapy引擎和爬蟲之間的框架,主要工作是處理蜘蛛的響應輸入和請求輸出。
排程中介軟體(scheduler middewares):介於scrapy引擎和排程之間的中介軟體,從scrapy引擎傳送到排程的請求和響應。
1、先建立乙個scrapy專案
可以使用cmd命令列或者在pycharm中建立,我這是在pycharm中建立
2、生成乙個爬蟲
通過cd mystory 命令到mystory專案下生成乙個爬蟲
然後。。。你可以看到建立成功的專案檔案
3、setting 配置
user_agent一定不要進行更改配置,不然很容易被辨別為機器爬蟲,可以換成現在正在使用的瀏覽器的user_agent。
robotstxt_obey是否遵循機械人(爬蟲)協議,預設是true,改為false。
item_pipelines根據專案需要開啟乙個或多個,數字是優先順序,越小優先順序越高。
download_delay控制下爬取速度,頻繁快速的訪問**也容易被識別為爬蟲。
還有其它的很多其他的,可以根據專案實際需要進行配置,上面這些是比較基礎常用的。
4、爬蟲biquge,頁面解析
最後。。。執行
結果展示。。。
scrapy(二)內容獲取
專案原始碼可以參考我的github 1.明確需要獲取的內容 標題,鏈結 然後把需要獲取的內容寫到items.py中,通過檢查獲取內容的html,可以看出我們要獲取的內容標籤 2.根據頁面的html獲取到我們需要的內容 3.執行以下命令生成乙個 items.json檔案檢視我們獲取到的內容 scrap...
scrapy爬蟲小案例
在豆瓣圖書爬取書籍資訊為例 爬取下面劃紅線的資訊 1.先建立乙個myspider專案 如何建立專案上面已經說過了 2.開啟myspider目錄下的items.py item 定義結構化資料字段,用來儲存爬取到的資料 因為要爬取的是兩行資訊,下面定義兩個變數來訪問字串 coding utf 8 def...
Scrapy 執行爬蟲檔案批量
吧 1.使用修改 crawl 原始碼 自定義命令方式實現 2.建立專案 scrapy startproject mymultispd 3.進入專案檔案建立多個爬蟲檔案 scrapy genspider t basic myspd1 sina.com.cn scrapy genspider t bas...