linux 查询scrapy路径,Scrapy:启用绝对路径和相对路径的文件管道?

问题:我的代码中缺少了什么(请参阅下面的“当前代码”部分),这将使我能够使用Scrapy从绝对路径和相对路径下载文件?我很感激你的帮助。我对所有这些组件如何协同工作以及如何获得所需的行为感到迷茫。在

背景:我使用了一种组合方式:仔细阅读垃圾文档,在GitHub上找到可比较的示例,以及拖网式的StackOverflow来寻找答案,但我无法让垃圾文件管道按照我希望的方式工作。我看到的是相当基本的目标网站,它们有大量的文件,主要是pdf和jpg,它们在^{或img src选择器下链接为绝对或相对路径。我想下载所有这些文件。我的理解是响应。跟随将遵循相对路径和绝对路径,但我不确定该函数是否总能生成一个可以通过文件管道下载的路径。我找到了爬行的绝对路径和相对路径,这要感谢my earlier question提供的答案。在

遇到的问题:主要有两个问题。首先,我似乎无法让蜘蛛同时遵循绝对路径和相对路径。其次,我似乎无法让文件管道真正下载文件。这很可能是因为我不了解这四个.py文件是如何协同工作的。如果有人能提供一些基本的观察和指导,我相信我可以越过这个基本的“去/不去”点,开始在一些更复杂的功能中分层。在

当前代码:以下是来自神秘感.py, 项目.py, 管道.py,和设置.py. 在

神秘感.py:请注意,parse_items函数尚未完成,但我不知道该函数应该包括什么。在from scrapy import Spider

from ..items import MyspiderItem

# Using response.follow for different xpaths

class MySpider(Spider):

name='myspider'

allowed_domains=['example.com']

start_urls=['http://www.example.com/']

# Standard link extractor

def parse_all(self, response):

# follow selector

for href in response.xpath('//a/@href'):

yield response.follow(href, self.parse_items)

# follow selector

for img in response.xpath('//img/@src'):

yield response.follow(img, self.parse_items)

# This is where I get lost

def parse_items(self, response):

# trying to define item for items pipeline

MyspiderItem.item['file_urls']=[]

项目.py

^{pr2}$

设置.py:下面是启用文件管道的相关部分。在# Configure item pipelines

# See http://scrapy.readthedocs.org/en/latest/topics/item-pipeline.html

ITEM_PIPELINES = {'scrapy.pipelines.files.FilesPipeline': 1}

FILES_STORE = '/home/me/Scraping/myspider/Downloads'

管道.py:class MyspiderPipeline(object):

def process_item(self, item, spider):

return item

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值