查看目標(biāo)網(wǎng)頁
http://quotes.toscrape.com 中的每個名言都由 HTML 元素表示,如下所示:

每個名言是以HTML元素表示.png
確定采集實體:
從上圖可以看出,我們需要采集的實體有三個,分別是:標(biāo)簽(tags)、名人名言(text)和作者(author)
建立新項目:quotes
scrapy startproject quotes enter
查看一下創(chuàng)建的項目

創(chuàng)建項目.png
在items.py中定義自己要抓取的數(shù)據(jù)

items.py文件.png
檢查我們的頁面,我們可以看到鏈接到下一個頁面的URL在下面的元素中:
鏈接到下一個頁面.png

鏈接到下一個頁面.png
在shell中我們可以把它提取出來

提取下一頁規(guī)則.png
編寫myspider.py文件

myspider.py文件.png
現(xiàn)在,在提取數(shù)據(jù)之后,parse() 方法查找到下一頁的鏈接,使用 urljoin() 方法構(gòu)建一個完整的絕對 URL(因為鏈接可以是相對的),并生成(yield)一個到下一頁的新的請求, 其中包括回調(diào)方法(parse)。
使用它,可以根據(jù)我們定義的規(guī)則構(gòu)建復(fù)雜的跟蹤鏈接機制,并根據(jù)訪問頁面提取不同類型的數(shù)據(jù)。
在上面的圖片中,它創(chuàng)建一個循環(huán),跟蹤所有到下一頁的鏈接,直到它找不到要抓取的站點分頁。
運行命令 scrapy crawl quotes -o quotes.json
得到的部分?jǐn)?shù)據(jù)如下

部分爬取結(jié)果展示.png
如何檢查xpath/css定位是否正確
用scrapy shell進行調(diào)試
參考教程:http://scrapy-chs.readthedocs.io/zh_CN/1.0/topics/shell.html
總結(jié)和感悟
在進行數(shù)據(jù)的采集任務(wù)中,采集的規(guī)則和方法是數(shù)據(jù)采集的核心。要對整個網(wǎng)站仔細(xì)地觀察和研究,要非常細(xì)心并且有耐心。同時仍然需要對python進行更多和更深刻的練習(xí),就比如在這次的學(xué)習(xí)中發(fā)現(xiàn)使用xpath可能比css更加快速準(zhǔn)確。還要繼續(xù)努力才能學(xué)好python。