[Python]網路爬蟲(12):爬蟲架構Scrapy的第一個爬蟲樣本入門教程__Python

來源:互聯網
上載者:User

轉載自:http://blog.csdn.net/pleasecallmewhy/article/details/19642329

(建議大家多看看官網教程:教程地址)


我們使用dmoz.org這個網站來作為小抓抓一展身手的對象。


首先先要回答一個問題。

問:把網站裝進爬蟲裡,總共分幾步。

答案很簡單,四步: 建立項目 (Project):建立一個新的爬蟲項目 明確目標(Items):明確你想要抓取的目標 製作爬蟲(Spider):製作爬蟲開始爬取網頁 儲存內容(Pipeline):設計管道儲存爬取內容


好的,基本流程既然確定了,那接下來就一步一步的完成就可以了。


1.建立項目(Project)

在空目錄下按住Shift鍵右擊,選擇“在此處開啟命令視窗”,輸入一下命令:

[plain]  view plain  copy   scrapy startproject tutorial  
其中,tutorial為項目名稱。

可以看到將會建立一個tutorial檔案夾,目錄結構如下:

[plain]  view plain  copy   tutorial/       scrapy.cfg       tutorial/           __init__.py           items.py           pipelines.py           settings.py           spiders/               __init__.py               ...  


下面來簡單介紹一下各個檔案的作用: scrapy.cfg:項目的設定檔
tutorial/:項目的Python模組,將會從這裡引用代碼 tutorial/items.py:項目的items檔案 tutorial/pipelines.py:項目的pipelines檔案 tutorial/settings.py:項目的設定檔案 tutorial/spiders/:儲存爬蟲的目錄


2.明確目標(Item)

在Scrapy中,items是用來載入抓取內容的容器,有點像Python中的Dic,也就是字典,但是提供了一些額外的保護減少錯誤。

一般來說,item可以用scrapy.item.Item類來建立,並且用scrapy.item.Field對象來定義屬性(可以理解成類似於ORM的映射關係)。

接下來,我們開始來構建item模型(model)。

首先,我們想要的內容有: 名稱(name) 連結(url) 描述(description)


修改tutorial目錄下的items.py檔案,在原本的class後面添加我們自己的class。

因為要抓dmoz.org網站的內容,所以我們可以將其命名為DmozItem:

[python]  view plain  copy   # Define here the models for your scraped items   #   # See documentation in:   # http://doc.scrapy.org/en/latest/topics/items.html      from scrapy.item import Item, Field      class TutorialItem(Item):       # define the fields for your item here like:       # name = Field()       pass      class DmozItem(Item):       title = Field()       link = Field()       desc = Field()  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.