Scrapy 安裝及使用

2021-08-28 03:10:53 字數 2639 閱讀 9550

目前只支援python2

pip install scrapy
公升級scrapy

pip install --upgrade scrapy
和scrapy打交道時,你所遵循得最通用的流程是ur²im流程。

進入你想儲存專案的目錄

scrapy startproject tutorial
tutorial/

├── scrapy.cfg #專案的配置檔案

└── tutorial #專案的python檔案

├── __init__.py

├── items.py #專案中的item檔案

├── middlewares.py

├── pipelines.py #pipelines檔案

├── settings.py #設定檔案

└── spiders #防止spider**的目錄

└── __init__.py

定義itemitem是儲存爬取到的資料的容器;其使用方法和python字典類似,並且提供額外保護機制來避免拼寫錯誤導致的為定義字段錯誤。類似orm中作的一樣。

首先根據需要從dmoz.org獲取到的資料對item進行建模,需要從dmoz中獲取名字,url以及**的描述。

tutorial/items.py

class dmozitem(scrapy.item):

title=scrapy.field()

link=scrapy.field()

desc=scrapy.field()

編寫第乙個爬蟲tutorail/spiders.dmoz_spider.py

import scrapy

class domzspider(scrapy.spider):

name="dmoz"

allowed_domains=["dmoz.org"]

start_urls=[""]

def parse(self, response):

filename=response.url.split("/")[-2]

with open(filename,'wb') as f:

f.write(response.body)

並且生成url所對應的內容的檔案被建立。

原理:scrapy為spider的start_urls屬性中的每個url建立了scrapy.request物件,並將parse方法作為會掉函式故只給request。

request物件經排程,執行生成scrapy.http.response物件並返回給spider.parse()方法。

selectors選擇器簡介

從網頁中提取資料有很多種方法。scrapy使用了一種基於xpath和css表達機制:scrapy selectors。

selector有四種基本方法:

pip install ipython --user
scrapy shell ""
當shell載入之後,你將得到乙個包含response的資料的本地response變數。輸入response.body將會得到response的包體,輸入response.head將會得到包頭。

輸入response.selector時,將獲取到乙個可以用於查詢返回資料的selector選擇器。以及對映到 response.selector.xpath() 、 response.selector.css() 的 快捷方法(shortcut): response.xpath() 和 response.css() 。

in [2]: response.xpath('//title')

out[2]: [example 1'>]

in [3]: response.xpath('//title').extract()

out[3]: [u'example 1']

in [4]: response.xpath('//title/text()')

out[4]:

in [5]: response.xpath('//title/text()').extract()

out[5]: [u'example 1']

in [3]: response.xpath('//title').extract()

out[3]: [u'example 1']

in [4]: response.xpath('//title/text()')

out[4]:

in [7]: response.xpath('//title/text()').re('(\w+)')

out[7]: [u'example', u'1']

Scrapy框架的安裝及使用

步驟1 環境準備 右擊ubuntu作業系統桌面,從彈出選單中選擇 open in terminal 命令 開啟終端。通過 cd home 切換到home目錄下。ls 檢視該目錄下的所有內容。圖1 切換目錄 mkdir scrapy 在home目錄下建立scrapy資料夾。圖2 建立資料夾 步驟2 s...

scrapy介紹及使用

其流程可以描述如下 爬蟲提取url位址,組裝成request物件 爬蟲中介軟體 引擎 排程器 爬蟲提取資料 引擎 管道 管道進行資料的處理和儲存 注意 命令 scrapy startproject 專案名 示例 scrapy startproject myspider 生成的目錄和檔案結果如下 se...

scrapy框架使用及案例

使用pycharm的terminal終端 以下命令都是在terminal終端中執行 建立乙個工程 scrapy startproject pro cd pro 在spiders子目錄中建立乙個爬蟲檔案 scrapy genspider spidername www.com 執行工程 scrapy c...