99热99这里只有精品6国产,亚洲中文字幕在线天天更新,在线观看亚洲精品国产福利片 ,久久久久综合网

歡迎加入QQ討論群258996829
麥子學(xué)院 頭像
蘋果6袋
6
麥子學(xué)院

Scrapy安裝及創(chuàng)建項(xiàng)目

發(fā)布時(shí)間:2016-08-10 18:35  回復(fù):1  查看:3723   最后回復(fù):2016-08-12 23:57  

今天給大家寫了一個(gè)Scrapy入門教程,幫助大家安裝Scrapy和創(chuàng)建新項(xiàng)目。

 

1、 首先需要安裝如下軟件
Python 2.7
lxml
OpenSSL
pip or easy_install

 

2、 安裝必備軟件
sudo apt-get install libevent-dev
sudo apt-get install python-dev
sudo apt-get install libxml2-dev
sudo apt-get install libxslt1-dev
sudo apt-get install python-setuptools
<!-- more -->


3、安裝Scrapy
sudo apt-get install Scrapy

 

創(chuàng)建項(xiàng)目

以爬取mininova中的EBOOK種子鏈接、名稱、大小為例
1、進(jìn)入存儲(chǔ)代碼的目錄中,運(yùn)行下列命令
scrapy startproject mininova
該命令將會(huì)創(chuàng)建包含下列內(nèi)容的mininova目錄

mininova/

    scrapy.cfg

    mininova/

        __init__.py

        items.py

        pipelines.py

        settings.py

        spiders/

            __init__.py

            ...

這些文件分別是:

scrapy.cfg:項(xiàng)目的配置文件

mininova/:該項(xiàng)目的python模塊。

mininova/items.py:項(xiàng)目中的item文件

mininova/pipelines.py:項(xiàng)目中pipelines文件

mininova/settings.py:項(xiàng)目的設(shè)置文件

mininova/spiders/:放置spider代碼的目錄

2、定義Item
編輯mininova目錄中的items.py文件:

import scrapy

class MininovaItem(scrapy.Item):

    title = scrapy.Field()

    link = scrapy.Field()

    size = scrapy.Field()

3、編寫第一個(gè)爬蟲(Spider)
為了創(chuàng)建一個(gè)Spider,必須繼承scrapy.Spider類,且定義一下三個(gè)屬性:

name:用于區(qū)別Spider。該名字必須是唯一的,不可以為不同的Spider設(shè)定相同的名字。

start_urls:包含了Spider在啟動(dòng)時(shí)進(jìn)行爬取的url列表。因此,第一個(gè)被獲取到的頁面將是其中之一。后續(xù)的URL則從初始的URL獲取到的數(shù)據(jù)中提取。

parse():spider的一個(gè)方法。被調(diào)用時(shí),每個(gè)初始URL完成下載后生成的Response對象將會(huì)作為唯一的參數(shù)傳遞給該函數(shù)。該方法負(fù)責(zé)解析返回的數(shù)據(jù)(response data),提取數(shù)據(jù)(生成item)以及生成需要進(jìn)一步處理的URLRequest對象。

以下為我們的第一個(gè)Spider代碼,保存在mininova/spiders目錄下的mininova_spider.py文件中:

import scrapyfrom mininova.items import MininovaItem

class MininovaSpider(scrapy.Spider):

    name = 'mininova'

    allowed_domains = ['mininova.org']

    start_urls = ['http://www.mininova.org/sub/50/name/1']

 

    def parse(self,response):

        sites = response.xpath('//table[@class="maintable"]//tr')

        for site in sites:

            item = MininovaItem()

            item['title'] = site.xpath('td/a[not(@class="ti com")]/text()').extract()

            for url in site.xpath('td/a[@class="dl"]/@href').extract():

                item['link'] = 'http://www.mininova.org' + url

            for size in site.xpath('td[3]/text()').extract():

                size = size.encode('utf-8')

                item['size'] = size.replace('\xc2\xa0','')

            yield item

4、爬取
進(jìn)入項(xiàng)目的根目錄,執(zhí)行下列命令啟動(dòng)spider:
scrapy crawl mininova
5、保存爬取到的數(shù)據(jù)
scrapy crawl mininova -o items.json

 


原文來自:簡書/迷途老鷹

 

 

 

 

 

 

楊洋 頭像
蘋果0袋
0
楊洋   2016-08-12 23:57
20       14            9       14        6
17         11           8         3       22 
0          4           13        20      16
11         14        8           5          0
18         21         0        10         2 
0           16         15       21        9
23          22        3         0        17 
8          24         14       24       10
19         22         0        4         16
0            3          20     5           2
20       14            9       14        6
17         11           8         3       22 
0          4           13        20      16
11         14        8           5          0
18         21         0        10         2 
0           16         15       21        9
23          22        3         0        17 
8          24         14       24       10
19         22         0        4         16
0            3          20     5           2

您還未登錄,請先登錄

熱門帖子

最新帖子

?