class ProfessormesserSpider(BaseSpider):
allowed_domains = ['www.professormesser.com']
start_urls = ['http://www.professormesser.com/n10-005/free-network-plus/']
def parse(self, response):
# extract urls from start page and REMEMBER THEIR ORDER(!!!)
hxs = HtmlXPathSelector(response)
for i, link in enumerate(hxs.xpath("//td[@valign='center']/div/descendant::a/@href")):
# "i" is the link's order
yield yield Request(url=link, callback=self.parse_item, meta={'i': i})
def parse_item(self, request):
order = response.request.meta["i"]
...
哦,你的意思是你需要得到的Youtube链接按照它们在起始页上的顺序排列?在
链接是随机顺序的,因为Scrapy并行地发出请求
如果你的下一个页面包含链接的视频源,请查看下一个链接。这些链接的形式如下:
因此,您将拾取重复的条目(尽管链接不同)。您可能需要开发一个更显式的xpath来过滤这些其他链接。在
我不知道scrapy,但我知道在python中,只要调用^{} ,就可以反转list或其他iterable。在
相关问题 更多 >
编程相关推荐