lxml tree.xpath()从flipkart中删除单个产品的产品描述将导致删除所有产品的描述

2024-05-15 01:42:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在Flipkart中使用lxml方法xpath为每个产品的产品描述创建一个嵌套列表

    product_descriptions = []
    for des in tree.xpath('//ul[@class="_1xgFaf"]'):
      description=[]
      for i in des.xpath('//li[@class="rgWa7D"]/text()'):
        description.append(i)
      product_descriptions.append(description)

    for i in product_descriptions:
      print(i)

但它会导致获取页面中的所有li[@class=“rgWa7D”],而不是获取所有<;李>;一个要素<;ul>;元素


Tags: inltgtforlidescriptionproductul
1条回答
网友
1楼 · 发布于 2024-05-15 01:42:15

/开头的XPath意味着上下文是根文档,这就是为什么第二个XPath返回页面中类为“rgWa7D”的所有li元素的原因。如果希望上下文是当前的ul元素(由变量des引用),请将.添加到XPath的开头:

for i in des.xpath('.//li[@class="rgWa7D"]/text()'):
    description.append(i)

相关问题 更多 >

    热门问题