官方文檔方式
其實如今scrapy 的文檔作的挺好, 安裝文檔在首頁就有 點我點我。
下面說說個人另類安裝方法,我說這個方法,在某些方面有優點,但不是絕對優點,利弊本身取捨。css
Windows 自定義安裝
python
打開 https://pypi.python.org 。json
在頁面的搜索框中輸入 scrapy, 開始搜索,找到最新的版本,我這個時候是https://pypi.python.org/pypi/Scrapy/1.0.3。bootstrap
翻頁到頁面的最底部,找到 Requires Distributions
部分,看看都有啥,我這裏的是:Twisted(>=10.0.0),w3lib (>=1.8.0), queuelib, lxml, pyOpenSSL, cssselect (>=0.9), six (>=1.5.2), service-identity。dom
對於上面的依賴,依次嘗試 5,6步。scrapy
在 cmd 下面執行命令 pip install xxxx
, 若是提示安裝成功, 跳過第6步,接着安裝下一個。ide
去 Google 搜索 xxxx msi {version}
這裏的version請填寫知足依賴條件的版本號, 認準了 pypi.python.org 的域名,點進去,找到msi的下載包,下載下來進行安裝。ui
到這裏,依賴已經安裝完畢,執行 pip install scrapy
。若是最後提示成功,說明你的安裝成功了。url
Ubuntu 自定義安裝
spa
Ubuntu 安裝最簡單的方式固然是官方的 ppa 安裝了啊。
Ubuntu 經過pip 安裝 最重要的是 pip 須要的各類庫:
apt-get install -y python-dev gcc libxml2-dev libxslt1-dev libffi-dev python-pip
pip install -U pip
pip install lxml twisted cryptography
pip install scrapy
Mac 自定義安裝
pip install scrapy
裝好以後,固然就是 hello-scrapy 的時間了。
使用下列命令新建一個工程:
scrapy startproject Demo
使用下列命令進入目錄,而後新建一個 Spider 來工做,這裏是使用的名稱爲 MeiSpider, 抓取 bj.meituan.com 的數據。
cd Demo
scrapy genspider MeiSpider bj.meituan.com
執行以後的目錄結構以下:
.
├── Demo
│ ├── __init__.py
│ ├── items.py # item
│ ├── pipelines.py # pipeline
│ ├── settings.py # project setting file
│ └── spiders
│ ├── __init__.py
│ └── MeiSpider.py # genspider generatored spider file
└── scrapy.cfg # configuration file
2 directories, 10 files
查詢下如今的 spiders,
$ scrapy list
MeiSpider # 剛剛新建的 MeiSpider
在項目 Demo 下面的 spiders 目錄中就有了咱們剛生成的 MeiSpider.py 文件,打開這個文件,看看內容:
# -*- coding: utf-8 -*-
import scrapy
class MeispiderSpider(scrapy.Spider):
name = "MeiSpider"
allowed_domains = ["bj.meituan.com"]
start_urls = (
'http://www.bj.meituan.com/',
)
def parse(self, response):
pass
注意一下, 生成的代碼裏面的 start_urls 中的 url 有錯誤,咱們手動改爲 bj.meituan.com
。
若是你火燒眉毛的想嘗試下效果,能夠試試這個:
scrapy crawl MeiSpider --nolog
哈哈,是否是什麼結果也沒有! 對啊, 由於咱們還沒告訴 Spider 該怎麼工做。這個就是 Spider 中 parse 方法的做用了, 咱們嘗試把 parse 改爲這樣
def parse(self, response):
return {'desc', 'hello scrapy', "url": response.url}
接着運行 scrapy crawl MeiSpider -t jsonlines --nolog -o -
是否是頗有意思,出來告終果了,這樣,一個簡單的 Hello-Scrapy 就完成了。