[Python]第三方庫-Scrapy入門使用

來源:互聯網
上載者:User

Scrapy:
    os:win7
    python:2.7 
    首先是安裝easy_install scrapy是的 很容易就安裝好了,難的是那麼多的依賴包 http://doc.scrapy.org/en/0.16/intro/install.html 這裡有win下的安裝指導
    如果實在編譯不過,或者是要安裝太多win的東西,就去 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 下載一個編譯好的庫安裝吧

    第一步:建立一個項目  

scrapy startproject tutorial

        scrapy.cfg:是設定檔


    第二步:建立一個Item

在items.py中建立一個Item

#coding:utf8from scrapy.item import Item, Field#Item是用來儲存抓取的內容的,類似一個字典 class DmozItem(Item):    """this is model of Item, likes ORM"""    title = Field()    link = Field()    desc = Field()
    第三部:第一個爬蟲

        爬蟲類要繼承  scrapy.spider.BaseSpider 並且要有三個屬性:
        name start_urls parse 
        怎麼解析網頁內容呢? Xpath 對這裡要使用Xpath選取器來解析內容

        W3cschool 有部分學習內容 W3cschool 有部分學習內容

建立一個dmoz_spider.py檔案 位置是spiders目錄下

#coding=utf8 from scrapy.spider import BaseSpiderfrom scrapy.selector import HtmlXPathSelectorfrom tutorial.items import DmozItemclass DmozSpider(BaseSpider):    """spider"""    # name must be unique    name = "dmoz"     allowed_domains = ["dmoz.org"]    start_urls = [        "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/",        "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/"    ]    #overwrite parse method     def parse(self, response):        #filename = response.url.split("/")[-2]        #open(filename, "wb").write(response.body)        # use         hxs = HtmlXPathSelector(response)        #extract all ul tag's children tag li         sites = hxs.select('//ul/li')         items = []        for site in sites:            item = DmozItem()            item["title"] = site.select('a/text()').extract()            item["link"] = site.select('a/@href').extract()            item["desc"] = site.select('text()').extract()            items.append(item)        return items 

   

        在 scrapy.cfg所在的目錄下 使用命令  

scrapy crawl dmoz -o items.json -t json

此時主目錄下多了一個items.json 就是抓取到的內容 

最簡單的抓取網頁-解析網頁-儲存資料的爬蟲就這樣完成了。

引用:官方tutorial

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.