Scrapy python error-请求URL中缺少方案

吉米

我正在尝试从受密码保护的FTP服务器中提取文件。这是我正在使用的代码:

import scrapy
from scrapy.contrib.spiders import XMLFeedSpider
from scrapy.http import Request
from crawler.items import CrawlerItem

class SiteSpider(XMLFeedSpider):
    name = 'site'
    allowed_domains = ['ftp.site.co.uk']
    itertag = 'item'

    def start_requests(self):
        yield Request('ftp.site.co.uk/feed.xml',
            meta={'ftp_user': 'test', 'ftp_password': 'test'})

    def parse_node(self, response, selector):
        item = CrawlerItem()
        item['title'] = (selector.xpath('//title/text()').extract() or [''])[0]      
        return item

这是我得到的回溯错误:

        Traceback (most recent call last):                                                              
          File "/usr/local/lib/python2.7/dist-packages/twisted/internet/base.py", line 1192, in run     
            self.mainLoop()                                                                             
          File "/usr/local/lib/python2.7/dist-packages/twisted/internet/base.py", line 1201, in mainLoop
            self.runUntilCurrent()                                                                      
          File "/usr/local/lib/python2.7/dist-packages/twisted/internet/base.py", line 824, in runUntilC
urrent                                                                                                  
            call.func(*call.args, **call.kw)                                                            
          File "/usr/local/lib/python2.7/dist-packages/scrapy/utils/reactor.py", line 41, in __call__   
            return self._func(*self._a, **self._kw)                                                     
        --- <exception caught here> ---                                                                 
          File "/usr/local/lib/python2.7/dist-packages/scrapy/core/engine.py", line 112, in _next_reques
t                                                                                                       
            request = next(slot.start_requests)                                                         
          File "/var/www/spider/crawler/spiders/site.py", line 13, in start_requests                 
            meta={'ftp_user': 'test', 'ftp_password': 'test'})                                
          File "/usr/local/lib/python2.7/dist-packages/scrapy/http/request/__init__.py", line 26, in __i
nit__                                                                                                   
            self._set_url(url)                                                                          
          File "/usr/local/lib/python2.7/dist-packages/scrapy/http/request/__init__.py", line 61, in _se
t_url                                                                                                   
            raise ValueError('Missing scheme in request url: %s' % self._url)                           
        exceptions.ValueError: Missing scheme in request url: ftp.site.co.uk/f
eed.xml  
波斯尼亚克

您需要为网址添加方案:

ftp://ftp.site.co.uk

FTP URL语法定义为:

ftp://[<user>[:<password>]@]<host>[:<port>]/<url-path>

基本上,您可以这样做:

yield Request('ftp://ftp.site.co.uk/feed.xml', ...)

在Wikipedia上了解有关架构的更多信息:http : //en.wikipedia.org/wiki/URI_scheme

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Scrapy python error-请求URL中缺少方案

来自分类Dev

scrapy“请求网址中缺少方案”

来自分类Dev

scrapy错误:exceptions.ValueError:请求网址中缺少方案:

来自分类Dev

Scrapy Python更改URL

来自分类Dev

ValueError:请求网址中缺少方案:python中的h

来自分类Dev

Python Scrapy 返回不同的 url

来自分类Dev

在python scrapy中处理分页

来自分类Dev

在python scrapy中处理分页

来自分类Dev

Python,在Scrapy中传递数据

来自分类Dev

在 python scrapy 中获取文本

来自分类Dev

Scrapy:ValueError('请求url中的丢失方案:%s'%self._url)

来自分类Dev

没有定义scrapy python请求

来自分类Dev

Python包含子目录中的Scrapy

来自分类Dev

删除scrapy python中的特殊字符

来自分类Dev

如何使用python遍历scrapy中的节点

来自分类Dev

无法在python scrapy中运行扩展

来自分类Dev

Scrapy,使用Python 3.4在终端中失败

来自分类Dev

在python 3.5中安装scrapy时出错

来自分类Dev

在div标签Python Scrapy中获取HTML

来自分类Dev

删除scrapy python中的特殊字符

来自分类Dev

如何使用scrapy在Python中抓取网址

来自分类Dev

避免 python/scrapy 中的冗余代码

来自分类Dev

Python Scrapy:在“href”中查找文本

来自分类Dev

从python脚本中运行scrapy程序

来自分类Dev

Scrapy在解析中获取请求URL

来自分类Dev

Scrapy 从请求 url 中获取错误的值

来自分类Dev

Scrapy 中的限制请求

来自分类Dev

处理后请求以使用scrapy python加载更多文章

来自分类Dev

检查用于请求的IP地址Python / Scrapy + ProxyMesh