scrapysheel(
scrapy終端是乙個互動終端,供您在未啟動spider的情況下嘗試及除錯您的爬取**。
其本意是用來測試提取資料的**,不過您可以將其作為正常的python終端,在上面測試任何的python**。
該終端是用來測試xpath或css表示式,檢視他們的工作方式及從爬取的網頁中提取的資料。
在編寫您的spider時,該終端提供了互動性測試您的表示式**的功能,免去了每次修改後執行spider的麻煩。
一旦熟悉了scrapy終端後,您會發現其在開發和除錯spider時發揮的巨大作用。
安裝:1、安裝lxml 一定要看多少版本的python來安裝 系統多少位(
pip install lxml
2、安裝twisted 一定要看多少版本的python來安裝 系統多少位(
pip install twisted
3、安裝scrapy
pip install scrapy
關聯安裝
pip install pypiwin32
建立專案
在開始爬取之前,您必須建立乙個新的scrapy專案。 進入您打算儲存**的目錄中,執行下列命令:
1、scrapy startproject tutorial(tutorial:專案的名稱)
該命令將會建立包含下列內容的 tutorial 目錄:
tutorial/
scrapy.cfg
tutorial/
__init__.py
items.py
pipelines.py
settings.py
spiders/
__init__.py
...這些檔案分別是:
scrapy.cfg: 專案的配置檔案
tutorial/: 該項目的python模組。之後您將在此加入**。
tutorial/items.py: 專案中的item檔案.
tutorial/pipelines.py: 專案中的pipelines檔案.
tutorial/settings.py: 專案的設定檔案.
tutorial/spiders/: 放置spider**的目錄.
2、新建立乙個spider(蟲),您必須繼承 scrapy.spider 類, 且定義以下三個屬性:
2.1、在專案中建立乙個spider(蟲)
scrapy genspider 爬蟲名 網域名稱(不用加http,執行完本命令以後會在爬蟲專案**現乙個新的py檔案重新整理)
name: 用於區別spider。 該名字必須是唯一的,您不可以為不同的spider設定相同的名字。
start_urls: 包含了spider在啟動時進行爬取的url列表。 因此,第乙個被獲取到的頁面將是其中之一。
後續的url則從初始的url獲取到的資料中提取。
parse()是spider的乙個構造方法。通過response響應中的資料都會在這個方法中, 該方法負責解析返回的資料(response data),
提取資料(生成item)以及生成需要進一步處理的url的 request 物件。
import scrapy
class dmozspider(scrapy.spiders.spider):
name = "dmoz"
allowed_domains = ["dmoz.org"] #不能超過網域名稱
start_urls = [
"",""
]//其中response是返回的資料
def parse(self, response):
filename = response.url.split("/")[-2]
with open(filename, 'wb') as f:
f.write(response.body)
執行爬蟲
進入專案(scrapysheel)的根目錄,執行下列命令啟動spider:
scrapy crawl dmoz
crawl dmoz 啟動用於爬取 dmoz.org 的spider
可以在doc命令中使用 scrapy shell "http:\\www.baidu.com" 後返回乙個response,可以用response.xpath('//title')等方式來獲取資料
可通過selector的4個基本方法來獲取資料
xpath()
css()
extrct()這個返回的是乙個list
re()正規表示式
例:返回物件 選擇器 選擇器型別 獲取值(/text()) 返回資料
response.selector. xpath('//title/text()'). extract()
response.selector. css('title::text'). extract()
一般是不用加selector
Python爬蟲學習(七)Scrapy爬蟲框架詳解
engine從spider處獲得爬取請求 request engine將爬取請求 給scheduler,用於排程 engine從scheduler處獲得下乙個要爬取的請求 engine將爬取請求通過中介軟體傳送給 爬取網頁後,形成響應 response 通過中介軟體發給engine engine將收...
Mac python 搭建scrapy爬蟲框架
1 在mac上安裝好python3,以及相關元件 2 進入python3的虛擬環境 workon env3.7 3 安裝scrapy pip install scrapy 4 建立乙個scrapy專案 4.1選擇路徑專案路徑 cd users panstark pycharmprojects 4.2...
python中scrapy框架的簡單使用
注 對過去一周的學習有個簡單的總結,鞏固一下 加深記憶 安裝 pip install scrapy 報錯 少外掛程式的話 pip install upgrade incremental 公升級pip包 pip install twisted scrapy 底層的乙個框架 執行完之後在安裝scrapy...