成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Scrapy:python3下的第一次運(yùn)行測(cè)試

dack / 2774人閱讀

摘要:,引言的架構(gòu)初探一文講解了的架構(gòu),本文就實(shí)際來(lái)安裝運(yùn)行一下爬蟲(chóng)。第一次運(yùn)行的測(cè)試成功,接下來(lái)的工作接下來(lái),我們將使用來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)爬蟲(chóng),省掉對(duì)每個(gè)人工去生成和測(cè)試的工作量。,文檔修改歷史,首次發(fā)布

1,引言

《Scrapy的架構(gòu)初探》一文講解了Scrapy的架構(gòu),本文就實(shí)際來(lái)安裝運(yùn)行一下Scrapy爬蟲(chóng)。本文以官網(wǎng)的tutorial作為例子,完整的代碼可以在github上下載。

2,運(yùn)行環(huán)境配置

本次測(cè)試的環(huán)境是:Windows10, Python3.4.3 32bit

安裝Scrapy : $ pip install Scrapy #實(shí)際安裝時(shí),由于服務(wù)器狀態(tài)的不穩(wěn)定,出現(xiàn)好幾次中途退出的情況

3,編寫(xiě)運(yùn)行第一個(gè)Scrapy爬蟲(chóng)

3.1. 生成一個(gè)新項(xiàng)目:tutorial

$ scrapy startproject tutorial

項(xiàng)目目錄結(jié)構(gòu)如下:

3.2. 定義要抓取的item

# -*- coding: utf-8 -*-

# Define here the models for your scraped items
#
# See documentation in:
# http://doc.scrapy.org/en/latest/topics/items.html

import scrapy

class DmozItem(scrapy.Item):
    title = scrapy.Field()
    link = scrapy.Field()
    desc = scrapy.Field()

3.3. 定義Spider

import scrapy
from tutorial.items import DmozItem

class DmozSpider(scrapy.Spider):
    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/"
    ]

    def parse(self, response):
        for sel in response.xpath("http://ul/li"):
            item = DmozItem()
            item["title"] = sel.xpath("a/text()").extract()
            item["link"] = sel.xpath("a/@href").extract()
            item["desc"] = sel.xpath("text()").extract()
            yield item

3.4. 運(yùn)行

$ scrapy crawl dmoz -o item.json

1) 結(jié)果報(bào)錯(cuò):
A) ImportError: cannot import name "_win32stdio"
B) ImportError: No module named "win32api"

2) 查錯(cuò)過(guò)程:查看官方的FAQ和stackoverflow上的信息,原來(lái)是scrapy在python3上測(cè)試還不充分,還有小問(wèn)題。

3) 解決過(guò)程:
A) 需要手工去下載twisted/internet下的 _win32stdio 和 _pollingfile,存放到python目錄的libsitepackagestwistedinternet下
B) 下載并安裝pywin32

再次運(yùn)行,成功!在控制臺(tái)上可以看到scrapy的輸出信息,待運(yùn)行完成退出后,到項(xiàng)目目錄打開(kāi)結(jié)果文件items.json, 可以看到里面以json格式存儲(chǔ)的爬取結(jié)果。

[
{"title": ["        About       "], "desc": [" ", " "], "link": ["/docs/en/about.html"]},
{"title": ["   Become an Editor "], "desc": [" ", " "], "link": ["/docs/en/help/become.html"]},
{"title": ["            Suggest a Site          "], "desc": [" ", " "], "link": ["/docs/en/add.html"]},
{"title": [" Help             "], "desc": [" ", " "], "link": ["/docs/en/help/helpmain.html"]},
{"title": [" Login                       "], "desc": [" ", " "], "link": ["/editors/"]},
{"title": [], "desc": [" ", " Share via Facebook "], "link": []},
{"title": [], "desc": [" ", "  Share via Twitter  "], "link": []},
{"title": [], "desc": [" ", " Share via LinkedIn "], "link": []},
{"title": [], "desc": [" ", " Share via e-Mail   "], "link": []},
{"title": [], "desc": [" ", " "], "link": []},
{"title": [], "desc": [" ", "  "], "link": []},
{"title": ["        About       "], "desc": [" ", " "], "link": ["/docs/en/about.html"]},
{"title": ["   Become an Editor "], "desc": [" ", " "], "link": ["/docs/en/help/become.html"]},
{"title": ["            Suggest a Site          "], "desc": [" ", " "], "link": ["/docs/en/add.html"]},
{"title": [" Help             "], "desc": [" ", " "], "link": ["/docs/en/help/helpmain.html"]},
{"title": [" Login                       "], "desc": [" ", " "], "link": ["/editors/"]},
{"title": [], "desc": [" ", " Share via Facebook "], "link": []},
{"title": [], "desc": [" ", "  Share via Twitter  "], "link": []},
{"title": [], "desc": [" ", " Share via LinkedIn "], "link": []},
{"title": [], "desc": [" ", " Share via e-Mail   "], "link": []},
{"title": [], "desc": [" ", " "], "link": []},
{"title": [], "desc": [" ", "  "], "link": []}
]

第一次運(yùn)行scrapy的測(cè)試成功

4,接下來(lái)的工作

接下來(lái),我們將使用GooSeeker API來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)爬蟲(chóng),省掉對(duì)每個(gè)item人工去生成和測(cè)試xpath的工作量。目前有2個(gè)計(jì)劃:

在gsExtractor中封裝一個(gè)方法:從xslt內(nèi)容中自動(dòng)提取每個(gè)item的xpath

從gsExtractor的提取結(jié)果中自動(dòng)提取每個(gè)item的結(jié)果

具體選擇哪個(gè)方案,將在接下來(lái)的實(shí)驗(yàn)中確定,并發(fā)布到gsExtractor新版本中。

5,文檔修改歷史

2016-06-15:V1.0,首次發(fā)布

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/37998.html

相關(guān)文章

  • scrapy入門(mén)

    摘要:快速入門(mén)首先,初步要做的就是快速構(gòu)建一個(gè)爬蟲(chóng)。然后把結(jié)果加入到一個(gè)隊(duì)列中。既然是入門(mén),我們肯定是先關(guān)心我們需要的。 因?yàn)楣卷?xiàng)目需求,需要做一個(gè)爬蟲(chóng)。所以我一個(gè)python小白就被拉去做了爬蟲(chóng)。花了兩周時(shí)間,拼拼湊湊總算趕出來(lái)了。所以寫(xiě)個(gè)blog做個(gè)記錄。 快速入門(mén) 首先,初步要做的就是快速構(gòu)建一個(gè)爬蟲(chóng)。 配置環(huán)境 Mac下安裝 1) 直接從官網(wǎng)下載 python下載官網(wǎng) 2) 是通過(guò)...

    CrazyCodes 評(píng)論0 收藏0
  • Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---12、部署相關(guān)庫(kù)的安裝:Docker、Scrapyd

    摘要:阿里云安裝腳本安裝腳本兩個(gè)腳本可以任選其一,速度都非常不錯(cuò)。推薦的加速器有和阿里云。阿里云不同平臺(tái)的鏡像加速方法配置可以參考的官方文檔。以上便是的安裝方式說(shuō)明。上一篇文章網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)爬蟲(chóng)框架的安裝下一篇文章網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)部署相關(guān)庫(kù) 上一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---11、爬蟲(chóng)框架的安裝:ScrapySplash、ScrapyRedis下一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---...

    ityouknow 評(píng)論0 收藏0
  • Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---10、爬蟲(chóng)框架的安裝:PySpider、Scrapy

    摘要:所以如果對(duì)爬蟲(chóng)有一定基礎(chǔ),上手框架是一種好的選擇。缺少包,使用安裝即可缺少包,使用安裝即可上一篇文章網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)爬取相關(guān)庫(kù)的安裝的安裝下一篇文章網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)爬蟲(chóng)框架的安裝 上一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---9、APP爬取相關(guān)庫(kù)的安裝:Appium的安裝下一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---11、爬蟲(chóng)框架的安裝:ScrapySplash、ScrapyRedis 我們直接...

    張憲坤 評(píng)論0 收藏0
  • scrapy入門(mén)教程——爬取豆瓣電影Top250!

    摘要:注意爬豆爬一定要加入選項(xiàng),因?yàn)橹灰馕龅骄W(wǎng)站的有,就會(huì)自動(dòng)進(jìn)行過(guò)濾處理,把處理結(jié)果分配到相應(yīng)的類別,但偏偏豆瓣里面的為空不需要分配,所以一定要關(guān)掉這個(gè)選項(xiàng)。 本課只針對(duì)python3環(huán)境下的Scrapy版本(即scrapy1.3+) 選取什么網(wǎng)站來(lái)爬取呢? 對(duì)于歪果人,上手練scrapy爬蟲(chóng)的網(wǎng)站一般是官方練手網(wǎng)站 http://quotes.toscrape.com 我們中國(guó)人,當(dāng)然...

    senntyou 評(píng)論0 收藏0
  • Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---13、部署相關(guān)庫(kù)ScrapydClient、ScrapydAPI

    摘要:相關(guān)鏈接使用說(shuō)明安裝推薦使用安裝,命令如下驗(yàn)證安裝安裝成功后會(huì)有一個(gè)可用命令,叫做,即部署命令。我們可以輸入如下測(cè)試命令測(cè)試是否安裝成功如果出現(xiàn)如圖類似輸出則證明已經(jīng)成功安裝圖運(yùn)行結(jié)果在后文我們會(huì)詳細(xì)了解它的用法。 上一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---12、部署相關(guān)庫(kù)的安裝:Docker、Scrapyd下一篇文章:Python3網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn)---14、部署相關(guān)庫(kù)的安裝:Scra...

    lolomaco 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<