Scrapy框架——安裝Scrapy
阿新 • • 發佈:2019-02-07
Scrapy框架—— 安裝Scrapy
Scrapy
可以說是爬蟲界鼎鼎有名的框架。 它是一個重型的爬蟲框架,結合資料抓取,匯出,以及部分的資料清洗的功能。
本文針在python3.6的環境下來安裝scrapy
需求配置
- sqlite依賴庫(centos下為sqlite-devel包)
scrapy
框架的正常執行,你的 python3.6
版本需要編譯支援 sqlite
,
python3.6
Twisted
scrapy
的非同步功能實現,需要 Twisted
的支援。 目前 scrapy
的最新版本需要 Twisted>13.0
版本, 而 pip3.6
安裝sqlite依賴庫
如果你的 python3.6
已經編譯支援了 sqlite
,可以跳過這個步驟。
下載sqlite庫
yum install sqlite-devel
編譯python3.6
下載python3.6原始碼
cd /tmp curl -O Python-3.6.4.tgz https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz
編譯python3.6
tar xvvf Python-3.6.4 cd Python-3.6.4 ./configure make
編譯Twisted
下載Twisted原始碼
cd /tmp git clone https://github.com/twisted/twisted.git
編譯Twisted
cd twisted/ python3.6 setup.py install
安裝Scrapy
pip3 install scrapy
測試Scrapy是否正常工作
這裡我們簡單的抓一下京東首頁的分類列表來測試一下 scrapy
是否正常工作。
scrapy genspider example www.jd.com //該命令會在當前目錄下生成一個example.py 檔案
//example.py
import scrapy
class ExampleSpider(scrapy.Spider):
name = 'example'
allowed_domains = ['www.jd.com']
start_urls = ['http://www.jd.com/']
def parse(self, response):
category = response.xpath('//div[contains(@class,"navitems")]/ul/li/a/text()').extract();
for cate in category:
yield {'cate': cate}
pass
scrapy runspider example.py -L INFO -o category.json
//該命令會執行example.py爬蟲指令碼,然後將抓取結果儲存到category.json中
//category.json
[
{"cate": "\u79d2\u6740"},
{"cate": "\u4f18\u60e0\u5238"},
{"cate": "PLUS\u4f1a\u5458"},
{"cate": "\u95ea\u8d2d"},
{"cate": "\u62cd\u5356"},
{"cate": "\u4eac\u4e1c\u670d\u9970"},
{"cate": "\u4eac\u4e1c\u8d85\u5e02"},
{"cate": "\u751f\u9c9c"},
{"cate": "\u5168\u7403\u8d2d"},
{"cate": "\u4eac\u4e1c\u91d1\u878d"}
]