使用scrapy抓取sinanew網站

使用scrapy抓取sinanew網站

平時搞爬蟲都是自己寫函式,寫了很長時間,突然聽到朋友說,框架很好用,可以來嘗試嘗試,所以就來了解了解scrapy,但是接觸之後,並沒有感覺到框架好用,可能是自己使用框架經驗還不足吧,也研究了好多天,下邊把我的經驗跟大家分享一下,有錯誤的話,歡迎指正!

1,這次抓取的網站是http://news.sina.com.cn/guide/,網上也有這個網站的抓取案例,因為忘了連結,就不附上了

首先建立專案   scrapy  startproject  sinanew

進入建立的專案,cd  sinanew

然後建立spider   scrapy  spiders  sian  ‘sina.com.cn/guide’

好了,咱們看下專案的目錄結構

在瀏覽器開啟網站,得到如下頁面:

咱們抓取的內容呢,就是抓取大標題,然後抓取每個大標題下的小標題,最後再抓取小標題中的新聞資訊,儲存的目錄檔案格式呢就是  大標題/小標題/文章1,文章2….

明確了抓取思路後,接下來就開始愉快的擼程式碼吧

首先開啟f12除錯,找到大標題及其連結的位置,使用xpath進行定位,抓取大標題,附圖如下:

再找小標題及其連結,使用xpath進行定位,附圖如下:

找到小標題中的文章,定位文章標題,內容,附圖如下:

再點選文章標題,進入文章詳情,然後定位文章標題及文章內容,進行爬取,附圖如下:

好了,分析就到此為止,然後就附上程式碼吧

先是sina.py

再是items.py檔案內容

settings.py檔案改動:將請求頭資訊取消註釋,將遵守robottxt協議改為False

pipelines.py內容:

程式碼如上,接下來就是執行了,按alt f12  輸入scrapy  craw  sina  就可以執行爬取了