1.安裝 公升級pip版本 pip install --upgrade pip
通過pip安裝scrapy框架 pip install scrapy
安裝成功 只執行scrapy 進行測試是否安裝成功
2. scrapy startproject "爬蟲專案名稱"
執行此命令,可以生成乙個爬蟲專案
會預先生成一些檔案在裡面.
3.執行命令 生成爬取資料模板 scrapy genspider 檔名[類名] "要爬去的網域名稱"
[如]:scrapy genspider itcast ""
// 命令生成的**如下:
class itcastspider(scrapy.spider):
name = 'itcast' // 模組名稱
allowed_domains = ['']// 爬取的網域名稱[可選]
start_urls = [''] // 爬取的開始路徑
// 爬取後執行的**
def parse(self, response):
print (response.body)// 檢視相應原始碼
print("end..");
#這裡若有個迴圈,則可以使用管道 yield則會進入管道
for a in "test":
item=scrapytestitem()
item["title"]=a
yield item
在window下面,按住shift 再右鍵,可以直接在此目錄下開啟命令視窗,然後執行如下命令
4.[檢查爬蟲狀態命令]scrapy check 模組名稱[這個地方要寫上面那個模板裡面的 name = 'itcast' 不需要寫類名或者檔名稱]
5.[執行乙個爬蟲命令] scrapy crawl 模組名稱[這個地方要寫上面那個模板裡面的 name = 'itcast' 不需要寫類名或者檔名稱]
可以在命令列輸入scrapy 來獲取上面這些命令
6.管道
1.在爬蟲主模板下面的 parse方法裡面,需要有乙個迴圈.該迴圈裡面需使用yield 來返回每次迴圈的item資料
2.item 是繼承了scrapy.item 的子類,使用者儲存資料,
3.管道裡面可以執行處理資料的操作
4.程式執行流程 爬取到資料之後,執行主墨白裡面的parse方法,通過response獲取到資料,迴圈使用yield 返回item資料,item是經過預處理的資料儲存在item裡面的
再在管道裡面處理這些資料[可以儲存下來..等操作]
5.需要在專案裡面的setting.py裡面註冊
item_pipelines =
7 item 的 類模型
import scrapy
class scrapytestitem(scrapy.item):
# define the fields for your item here like:
# name = scrapy.field()
title = scrapy.field()
#需要的字段在這裡新增即可.
pass
8.管道的類
class scrapytestpipeline(object):
#可以新增init和close [類初始和類結束]方法.來預先處理些init操作
def process_item(self, item, spider):
print("管道-------------");
# print(item)
#處理item帶過來的邏輯資料**
return item
9.xpath 可通過表示式來擷取網頁中的資料
response.xpath("//div[@class='li_txt']")
10.scrapy shell "要爬取的** " 直接在專案的命令中敲此命令,可以在命令中直接爬取到對應的資料. 然後可以輸入相應的命令,直接爬取資料,比如response.body 獲取響應資料
11.選擇器
1.xpath():傳入xpath表示式,返回該表示式所對應的所有節點的list列表
xpath表示式的例子及對應的含義:
/html/head/title: 選擇文件中 標籤內的 元素
/html/head/title/text(): 選擇上面提到的 元素的文字
//td: 選擇所有的 元素
//div[@class="mine"]: 選擇所有具有 class="mine" 屬性的 div 元素
2.extract(): 序列化該節點為unicode字串並返回list
3.css():傳入css表示式,返回該表示式所對應的所有節點的selector list列表,語法同beautifulsoup4
4.re():根據傳入的正規表示式對資料進行提取,返回unicode字串list列表
scrapy爬蟲框架
作者經過幾周的python爬蟲實踐之後,深入學習了一下scrapy這個爬蟲框架,現將一些基本知識和 總結整理一下,以備後查。2.scrapy的命令列使用 這部分網上很多部落格都有總結,不需要背,理解會用主要的命令 startproject crawl fetch list genspider.即可,...
Scrapy爬蟲框架
scrapy中的各大元件及其功能 1.scrapy引擎 engine 引擎負責控制資料流在系統的所有元件中流動,並在相應動作發生時觸發事件。2.排程器 scheduler 排程器從引擎接收request並將它們入隊,以便之後引擎請求request時提供給引擎。4.spider。spider是scra...
scrapy 爬蟲框架
爬蟲基礎 2 各模組的作用 close spider spider spider 爬蟲專案大概流程 1 新建專案 spider startproject 2 明確需要目標 產出 編寫item.py 可以有很多個,被按照順序載入執行 作用是對發出的請求和返回的結果進行預處理 在middlewares中...