1. 程式人生 > >團隊-爬取豆瓣電影-設計文檔

團隊-爬取豆瓣電影-設計文檔

常用 不一致 spider 其他 所有 功能 sch pytho awl

團隊成員:

  張曉亮,邵文強,寧培強,潘新宇,邵翰慶,李國峰,張立新

概要設計思路(https://github.com/Wooden-Robot/scrapy-tutorial):

     聲明item:Items
(爬取的主要目標就是從非結構性的數據源提取結構性數據,例如網頁。 Scrapy spider可以以python的dict來返回提取的數據.雖然dict很方便,並且用起來也熟悉,但是其缺少結構性,容易打錯字段的名字或者返回不一致的數據,尤其在具有多個spider的大項目中。
為了定義常用的輸出數據,Scrapy提供了 Item 類。 Item 對象是種簡單的容器,保存了爬取到得數據。 其提供了 類似於詞典(dictionary-like) 的API以及用於聲明可用字段的簡單語法。)

     Spider
(class scrapy.spider.Spider
Spider是最簡單的spider。每個其他的spider必須繼承自該類(包括Scrapy自帶的其他spider以及您自己編寫的spider)。 Spider並沒有提供什麽特殊的功能。 其僅僅請求給定的 start_urls/start_requests ,並根據返回的結果(resulting responses)調用spider的 parse 方法。)

    使用xpath語法來提取我們所需的信息(可以在W3Schlool上參考)

    點擊工具欄左上角的類鼠標符號圖標或者Ctrl + Shift + c在頁面中點擊我們想要的元素即可在工具欄中看到它在網頁HTML源碼中所處的位置。

大致內容:

     表的設計

     獲取每一頁的內容

     獲取當前頁每一部電影的鏈接

     獲取所有頁的url連接

     獲取當前頁的字段值

     獲取電影的排行次數

     獲取電影名稱

     獲取導演名稱

     獲取電影評分

     獲取電影描述

運行爬蟲:

    打開cmd運行下列命令:

    scrapy crawl douban_movie_top250 -o douban.csv(douban_movie_top250即為我們剛剛寫的爬蟲的name, 而-o douban.csv是scrapy提供的將item輸出為csv格式的快捷方式)

自動翻頁:

  1. 在頁面中找到下一頁的地址;
  2. 自己根據URL的變化規律構造所有頁面地址。

測試:

    進行最後的測試,檢查代碼的嚴謹性與程序的可執行性。

團隊-爬取豆瓣電影-設計文檔