【发布时间】:2018-05-30 18:37:07
【问题描述】:
在抓取使用目录存储文件的基本文件夹系统网站时,
yield scrapy.Request(url1, callback=self.parse)
跟踪链接并抓取已爬取链接的所有内容,但我通常会遇到爬虫通过根目录链接传递的情况,它会获取具有不同 url 的所有相同文件,因为根目录介于两者之间。
http://example.com/root/sub/file
http://example.com/root/sub/../sub/file
任何帮助将不胜感激。
这是代码示例的 sn-p
class fileSpider(Spider):
name = 'filespider'
def __init__(self, filename=None):
if filename:
with open(filename, 'r') as f:
self.start_urls = [url.strip() for url in f.readlines()]
def parse(self, response):
item = Item()
for url in response.xpath('//a/@href').extract():
url1 = response.url + url
if(url1[-4::] in videoext):
item['name'] = url
item['url'] = url1
item['depth'] = response.meta["depth"]
yield item
elif(url1[-1]=='/'):
yield scrapy.Request(url1, callback=self.parse)
pass
【问题讨论】:
标签: scrapy web-crawler scrapy-spider google-crawlers scrapyd