gpt4 book ai didi

python - Scrapy - 关注 RSS 链接

转载 作者:太空狗 更新时间:2023-10-29 21:32:56 24 4
gpt4 key购买 nike

我想知道是否有人曾尝试使用以下方法提取/跟踪 RSS 项目链接SgmlLinkExtractor/CrawlSpider。我无法让它工作...

我正在使用以下规则:

   rules = (       Rule(SgmlLinkExtractor(tags=('link',), attrs=False),           follow=True,           callback='parse_article'),       )

(请记住,RSS 链接位于 link 标记中)。

我不确定如何告诉 SgmlLinkExtractor 提取 text()链接而不是搜索属性 ...

欢迎任何帮助,提前致谢

最佳答案

CrawlSpider 规则不是这样工作的。您可能需要子类化 BaseSpider 并在您的蜘蛛回调中实现您自己的链接提取。例如:

from scrapy.spider import BaseSpider
from scrapy.http import Request
from scrapy.selector import XmlXPathSelector

class MySpider(BaseSpider):
name = 'myspider'

def parse(self, response):
xxs = XmlXPathSelector(response)
links = xxs.select("//link/text()").extract()
return [Request(x, callback=self.parse_link) for x in links]

您也可以在 shell 中尝试 XPath,例如运行:

scrapy shell http://blog.scrapy.org/rss.xml

然后在 shell 中输入:

>>> xxs.select("//link/text()").extract()
[u'http://blog.scrapy.org',
u'http://blog.scrapy.org/new-bugfix-release-0101',
u'http://blog.scrapy.org/new-scrapy-blog-and-scrapy-010-release']

关于python - Scrapy - 关注 RSS 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2939050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com