天天看點

scrapy爬取網頁資料

1.引言

使用python的scrapy子產品爬取豆瓣讀書top250的圖書資訊,以json的形式儲存并存儲到mysql。項目所爬取的網站:https://book.douban.com/top250

2.實作代碼

  1. 建立scrapy項目打開指令行在切換到預存儲目錄中,運作 scrapy startproject douban
    scrapy爬取網頁資料
    生成項目
    scrapy爬取網頁資料

    2.定義item容器

    找到items.py檔案,這個主要使用來封裝爬蟲所要爬取的字段。

    scrapy爬取網頁資料
    3.編寫spider在項目的spiders目錄下建立python檔案,用來編寫爬取資料的類
    scrapy爬取網頁資料
    其中對資料的解析可通過浏覽器的審查元素中找到對應字段的資料,如tiltle自段為tr[@class="item”]中的td[@valign=“top”]/div[@class=“pl2”]/a/@title。
    scrapy爬取網頁資料
    4.存儲pipelines有兩種存儲方式,第一種以json檔案儲存,第二種是将資料存儲到mysql
    scrapy爬取網頁資料
    5.編寫settingssetting.py為配置檔案,需要添加項目對應的配置
    scrapy爬取網頁資料

3.運作結果

打開指令行在所在檔案目錄下運作scrapy crawl doubanbook

scrapy爬取網頁資料

Json檔案

scrapy爬取網頁資料

Mysql

scrapy爬取網頁資料

4.總結

在編寫本項目時,由于太過心急在未對scrapy子產品有充分了解的情況下,就着手編寫,導緻踩了很多坑。在一番深度學習後,最終解決問題,完成項目。本項目雖然簡單,但這次項目,也讓我增加了對爬蟲技術的些許了解。