xpath嵌套ul列表

xpath嵌套ul列表,xpath,scrapy,scrapy-spider,Xpath,Scrapy,Scrapy Spider,我的头撞在墙上,这可能是我错过的简单的东西 我有一个HTML未排序列表(ul),如下所示: <ul> <li>Elm 1</li> <li>Elm 2 - with children <ul> <li>Nested Elm</li> <li>Another Elm</li> </ul> </li> </ul&

我的头撞在墙上,这可能是我错过的简单的东西

我有一个HTML未排序列表(ul),如下所示:

<ul>
  <li>Elm 1</li>
  <li>Elm 2 - with children
    <ul>
      <li>Nested Elm</li>
      <li>Another Elm</li>
    </ul>
  </li>
</ul>
  • 榆树1
  • 榆树2-有孩子
    • 巢榆
    • 另一棵榆树
使用xpath(与Scrapy兼容的版本1),如何从包括嵌套元素在内的所有li元素中获取文本


谢谢你的帮助

如果需要xpath,请使用
response.xpath('//ul//li/text()).extract()

如果您可以使用css,它会更短:
response.css('ul li::text')。extract()

尝试使用一个简单的xpath选择器:

from scrapy.selector import Selector
selector = Selector(text="""
<ul>
  <li>Elm 1</li>
  <li>Elm 2 - with children
    <ul>
      <li>Nested Elm</li>
      <li>Another Elm</li>
    </ul>
  </li>
</ul>""")
print(selector.xpath('//li/text()').extract())
['Elm 1', 'Elm 2 - with children\n    ', 'Nested Elm', 'Another Elm', '\n  ']