XPath:获取包含和不包含标记的大小写的底层文本



是否有办法将这两种XPath合并为一个?

//li[@itemprop="worksFor"]/span/div/a/text()

//li[@itemprop="worksFor"]/span/div/text()

背景是,我想看到组织在我的刮痧,但其呈现方式各不相同:https://github.com/wencakisa(带a标签)

预期结果:@HackSoftware

https://github.com/djangofan(无a标签)

预期结果:标准保险

//li[@itemprop="worksFor"]/span/div//text()
from lxml.html import fromstring
temp = response.xpath('//li[@itemprop="worksFor"]/span/div').get()
fromstring(temp).text_content().strip()

scrapy中的默认解析器是parsel,它在lxml上充当API。没有额外的依赖项。

fromstring()返回一个lxml.html.HtmlElementHtmlElement.text_content()迭代当前节点内的所有元素/节点,并连接所有文本。

lxml.html.HtmlElement

  • .iter()
  • .iter_text()
  • .text_content()

最新更新