Scrapy - 除了href到process_value回调之外,SgmlLinkExtractor还传递href文本

时间:2012-08-25 20:47:17

标签: python python-2.7 scrapy

我想添加对不包含我之后的字词的链接的支持,但href文本确实包含。

我希望能够提取href文本并将其作为第二个参数传递给process_value回调。

有谁知道如何实现这些目标?

感谢。

1 个答案:

答案 0 :(得分:0)

您应该创建一个BaseSpider并根据您想要的任何条件提取链接。

只是为了给你一个想法:

class MySpider(BaseSpider):

    def parse(self, response):
        hxs = HtmlXPathSelector(response)
        links = hxs.select('//a')
        for link in links:
            href = link.select('@href').extract()[0]
            text = links.select('text()').extract()[0]
                # I make an assumption here that you want text() instead of @href here
                if text == 'something':
                        yield Request(href, callback = self.parse_page)

    def parse_page(self, response):
        return #return your item here