scrapy startproject project name
在終端輸入上述命令後,會根據生成乙個完整的爬蟲專案
此時的專案樹如下
|-- jobcrawler
|-- __init__.py
|-- items.py
|-- middlewares.py
|-- pipelines.py
|-- settings.py
`-- spiders
|-- __init__.py
|-- spider.py
scrapy.cfg
可以看到缺省會生成乙個名為spider.py
的檔案供我們編寫spider
.
如果這個時候我們要再寫多乙個spider
, 但是不想手動去配置相應的檔案, 可以用以下命令生成乙個spider
# domain 網域名稱
scrapy genspider [options] name domain
options
可以選擇自己需要的引數, 若留空, 則預設使用basic
模板生成spider
這裡我們以要爬取某**首頁入口為例, 生成乙個entrance
的spider
.
scrapy
會為我們在spiders
資料夾中生成乙個entrance.py
. 根據需要, 再item.py
中新增相應的字段.
當我們編寫完**後可能會遇到乙個問題, 在我們準備使用這個新的spider
爬蟲的時候, 並不準備讓以前spider
的pipeline
應用到新的spider
身上.
一種笨的方法是, 你在用某個spider
的時候, 先注釋掉無關的pipeline
設定(在settings.py
中). 然而這並非長久之計, 且十分反程式猿, 何況後面我們還要考慮到多個spider
併發的情況.
在看了一下spider
的變數之後, 顯然(逃, 我們可以用spider
的name
值來輕鬆指定.
在我們pipeline.py
中, 為需要區分spider
的方法新增乙個spider
引數, 主要是process_item(self, item, spider)
,close_spider(self, spider)
以及open_spider(self, spider)
, 寫一行if就搞定啦
if spider.name == 'jobcrawler':
後面再更新多個併發的情形 scrapy 五 scrapy專案二
在之前的基礎上,新增多個url進行爬取,第一種是將需要爬取的 都列出來,在start urls中 在basic.py中 start urls 第二種是如下寫法 start urls i.strip for i in open todo.urls.txt readlines 水平爬取就是next pa...
建立scrapy專案
1.windows r開啟 cmd命令列工具,cd desktop 進入到桌面目錄 2.輸入建立專案命令 scrapy startproject 專案名 3.cd 到 專案目錄下 cd專案名 4.執行建立爬蟲的命令 scrapy genspider 爬蟲名 爬蟲起始 5.使用pycharm開啟專案,...
Scrapy 專案步驟
1.建立專案 scrapy starproject 專案名 2.編寫 items.py檔案 設定需要儲存的資料字段,明確想要抓取的目標,用來儲存爬到的資料。3.建立爬蟲 scrapy genspider 爬蟲名 爬取的 4.進入專案專案名 spiders 3個預設建立的 name 編寫爬蟲檔案,檔案...