【问题标题】:xpath for tag with similar class and tag具有相似类和标签的标签的 xpath
【发布时间】:2021-10-20 04:19:44
【问题描述】:

website

标记的标签 黄色有我想要 XPATH 的文本 我使用以下方法获得了第一个标签的 XPATH:

'//div[@class="recipe-meta-item-body"][1]/text()' 

但我被其他两个突出显示的标签卡住了。

这里应该做什么,或者其他具有相似类和标签的标签的XPATH是什么?

【问题讨论】:

    标签: python web-scraping xpath scrapy css-selectors


    【解决方案1】:

    只需删除索引 ([1]) 以使您的 XPath 适用于所有必需的节点

    //div[@class="recipe-meta-item-body"]/text()
    

    【讨论】:

    • 我希望输出为 { 'preptime': 10min, 'cooktime': 10min, 'servings':'6'} 输出是大块数字
    • @abctrial 那么您需要从父 //div[@class="recipe-meta-item"]//text() 或分别获取两个文本节点,首先是 //div[@class="recipe-meta-item-header"]/text() 和第二个 //div[@class="recipe-meta-item-body"]/text()
    【解决方案2】:

    要以块“preptime: 10min”、“cooktime: 10min”、“servings:'6”的形式获取输出,请使用此 XPath:

    //div[@class="recipe-meta-item"]/text()
    

    【讨论】:

      【解决方案3】:
      In [5]: response.xpath('//div[@class="recipe-meta-item"]/*/text()').getall()
      Out[5]: 
      ['prep:',
       '10 mins ',
       'cook:',
       '15 mins ',
       'total:',
       '25 mins ',
       'Servings:',
       '6 ',
       'Yield:',
       '6 servings ']
      

      【讨论】:

        猜你喜欢
        • 2013-08-29
        • 1970-01-01
        • 1970-01-01
        • 2017-02-08
        • 1970-01-01
        • 2012-01-31
        • 1970-01-01
        • 2019-03-25
        • 1970-01-01
        相关资源
        最近更新 更多