什么是scrapy
Scrapy是一個(gè)為了爬取網(wǎng)站數(shù)據(jù),提取結(jié)構(gòu)性數(shù)據(jù)而編寫的應(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è)不是必須的,你可以邊寫邊查詢猾蒂。但是個(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)的位置