📜  scrapy xpath href 包含文本 (1)

📅  最后修改于: 2023-12-03 15:34:52.285000             🧑  作者: Mango

以下是使用Scrapy爬虫框架的XPath抽取功能获取包含文本“作主题”的超链接,并按markdown格式返回代码片段:

import scrapy

class MySpider(scrapy.Spider):
    name = "my_spider"
    start_urls = ["https://www.example.com"]

    def parse(self, response):
        # 获取所有包含文本“作主题”的超链接
        links = response.xpath("//a[contains(text(), '作主题')]/@href")

        # 返回markdown格式的代码片段
        for link in links:
            yield {
                "markdown": f"[作主题]({link.extract()})"
            }

在该示例中,我们首先定义一个名为MySpider的Scrapy爬虫,它会从start_urls中的URL开始爬取。在parse函数中,我们使用XPath表达式//a[contains(text(), '作主题')]/@href选取所有包含文本“作主题”的超链接。

要返回markdown格式的代码片段,我们使用Scrapy的字典输出格式,其中键为markdown,值为从超链接中提取的URL字符串,附加在markdown格式链接文本“作主题”之后。最后,我们使用Python的yield语句返回字典。