什么是scrapy
Scrapy是一個(gè)為了爬取網(wǎng)站數(shù)據(jù),提取結(jié)構(gòu)性數(shù)據(jù)而編寫(xiě)的應(yīng)用框架。 可以應(yīng)用在包括數(shù)據(jù)挖掘,信息處理或存儲(chǔ)歷史數(shù)據(jù)等一系列的程序中。
其最初是為了頁(yè)面抓取(更確切來(lái)說(shuō),網(wǎng)絡(luò)抓取)所設(shè)計(jì)的, 也可以應(yīng)用在獲取API所返回的數(shù)據(jù)(例如Amazon Associates Web Services) 或者通用的網(wǎng)絡(luò)爬蟲(chóng)。
了解scrapy你需要知道的知識(shí)
1、xpath。
2、正則表達(dá)式。
3、基本的HTML、css知識(shí)。
4、selenium。
5、Python的基礎(chǔ)語(yǔ)法。對(duì)于有編程基礎(chǔ)的開(kāi)發(fā)人員來(lái)說(shuō),這個(gè)不是必須的,你可以邊寫(xiě)邊查詢。但是個(gè)人建議首先要了解Python的基礎(chǔ)語(yǔ)法。
一、第一個(gè)scrapy項(xiàng)目(以爬取京東數(shù)據(jù)為例)
1、scrapy 命令創(chuàng)建項(xiàng)目
scrapy startproject jd jd.com:說(shuō)明,scrapy?startproject? 項(xiàng)目名稱? ? (這里是空格)? 要爬取的網(wǎng)站的域名

jd-|項(xiàng)目的根目錄
--spiders|爬蟲(chóng)代碼
--items.py|爬蟲(chóng)的模型文件,這里定義了爬取的數(shù)據(jù)的關(guān)鍵數(shù)據(jù)(個(gè)人認(rèn)為這個(gè)非必須,有了之后維護(hù)更加方便)
--middlewares.py|中間件,爬蟲(chóng)爬請(qǐng)求數(shù)據(jù)可以通過(guò)這個(gè)進(jìn)行爬取
--pipelines.py|管道,這個(gè)地方主要和數(shù)據(jù)存儲(chǔ)打交道,把模型定義好的數(shù)據(jù)進(jìn)行存儲(chǔ)
--settings.py|項(xiàng)目的配置文件
scrapy.cfg-項(xiàng)目的主配置文件,定義了項(xiàng)目的入口,爬蟲(chóng)的位置