創建第一個scrapy項目

創建項目

在開始爬取之前,您必須創建一個新的Scrapy項目。 進入您打算存儲代碼的目錄中,運行下列命令:

scrapy startproject tutorial

該命令將會創建包含下列內容的 tutorial 目錄:

tutorial/
    scrapy.cfg
    tutorial/
        __init__.py
        items.py
        pipelines.py
        settings.py
        spiders/
            __init__.py
            ...

這些文件分別是:

  • scrapy.cfg: 項目的配置文件
  • tutorial/: 該項目的python模塊。之後您將在此加入代碼。
  • tutorial/items.py: 項目中的item文件.
  • tutorial/pipelines.py: 項目中的pipelines文件.
  • tutorial/settings.py: 項目的設置文件.
  • tutorial/spiders/: 放置spider代碼的目錄.

    編寫第一個爬蟲(Spider)

    Spider是用戶編寫用於從單個網站(或者一些網站)爬取數據的類。

    其包含了一個用於下載的初始URL,如何跟進網頁中的鏈接以及如何分析頁面中的內容, 提取生成item 的方法。

    爲了創建一個Spider,您必須繼承 scrapy.Spider 類, 且定義以下三個屬性:

    • name: 用於區別Spider。 該名字必須是唯一的,您不可以爲不同的Spider設定相同的名字。
    • start_urls: 包含了Spider在啓動時進行爬取的url列表。 因此,第一個被獲取到的頁面將是其中之一。 後續的URL則從初始的URL獲取到的數據中提取。
    • parse() 是spider的一個方法。 被調用時,每個初始URL完成下載後生成的 Response 對象將會作爲唯一的參數傳遞給該函數。 該方法負責解析返回的數據(response data),提取數據(生成item)以及生成需要進一步處理的URL的 Request 對象。
  • 命令爲:scrapy genspider dmoz_spider example.com
  • 或者爲:scrapy genspider dmoz_spider dmoz.org
  • 如此,第一個爬蟲及創建完成,接下來就開始寫自己的爬蟲就可以了,當然你還可以傳到數據庫裏,然後從mongodb的可視化工具中觀察其爬取狀態以及最後結果。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章