**於網路
上圖就是整個scrapy的架構圖了,主要包括部分作用如下:
scrapy執行流程:
scrapy engine從spiders獲取初始的url,並將這些request交給scheduler進行排列。
scrapy engine從scheduler獲取處理好的request。
scrapy engine將responses交給spiders進行處理,預設傳遞給spiders的parse()函式,所以spiders必須定義這個函式。
spiders提取出item需要的資料和接著要爬的url,並將這些資料和url交給scrapy engine。
scrapy engine將資料交給item pipeline進行處理,將url交給scheduler
重複步驟2,直到scheduler中不存在任何requests,程式停止。
目標:爬取python官網(獲得網頁的title、url和body,暫時不儲存資料。
1.建立乙個scrapy專案,使用如下命令(專案名為python_project,可以自己更改):
scrapy startproject python_project建立專案後,在命令執行的目錄下會產生乙個與專案同名的資料夾,其結構大致如下:
這些檔案的作用大致如下:
2.定義item:item是儲存爬取到的資料的容器,其使用方法與python字典類似,並且踢動額外的保護機制來避免拼寫錯誤導致的未定義字段錯誤。
通過建立乙個scrapy.item類,並定義型別為scrapy.field的類屬性來定義乙個item。
import為了建立乙個spider,必須繼承scrapy.spider類,並定義以下三個屬性或方法:scrapy
class
pythonprojectitem(scrapy.item):
title =scrapy.field()
url =scrapy.field()
body = scrapy.field()
這裡我們在parse函式中不定義獲取url的實現,只解析要獲取的資料。因此這個爬蟲只有乙個url可用,爬蟲爬取完這個網頁便會停止。在spiders目錄下新建python_spider.py檔案,編輯如下:
Scrapy學習筆記(三)
抓取 資訊 class youdailispider crawlspider name youdaili allowed domains youdaili.net start urls rules rule linkextractor allow r d d html callback parse ...
scrapy 爬蟲學習筆記
1.安裝scrapy pip install i 源 scrapy 2.手動建立scarpy專案 scrapy startproject 專案名稱 3.scrapy genspider jobbole blog.jobbole.com 使用自帶模板 4.除錯 修改setting檔案中obey rob...
scrapy學習筆記 初識
生成乙個scrapy目錄 1 scrapy startproject 目錄名 在當前目錄建立scrapy專案 2 cd 目錄名 移動到建立的目錄下 3 scrapy genspider demo 網域名稱 生成乙個demo.py檔案,產生spiders爬蟲 4 scrapy crawl demo 執...