Python 如何提取特定的<;李>;元素是否使用Xpath或CSS?

Python 如何提取特定的<;李>;元素是否使用Xpath或CSS?,python,css,xpath,scrapy,web-crawler,Python,Css,Xpath,Scrapy,Web Crawler,如何提取跨度内的信息,进而在li中找到这些信息 <div class="col-md-offer-content"> <ul class="params-list"> <li> <ul class="main-list"> <li>Preço <span><strong>350 €</strong></span> 6 €/m²</li>

如何提取跨度内的信息,进而在li中找到这些信息

<div class="col-md-offer-content">
 <ul class="params-list">
  <li>
   <ul class="main-list">
    <li>Preço 
       <span><strong>350 €</strong></span> 6 €/m²</li>
    <li>Área útil (m²) 
       <span><strong>60 m²</strong></span></li>
    <li>Tipologia 
       <span><strong>T1</strong></span></li>
   </ul>
输出是:
['Typology']

但在我的例子中,我希望它返回T1,所以我做了:

response.xpath ('// ul [@ class = "main-list"] / span [li = "Tipology"] / text ()') .extract ()

但它不会返回任何东西。。。我做错了什么?有什么建议吗?

您可以这样做:

esponse.xpath ('// ul [@ class = "mainlist"] / [span="T1"] / text ()'). Extract () 

如果将类添加到跨度中

<div class="col-md-offer-content">
 <ul class="params-list">
  <li>
   <ul class="main-list">
    <li>Preço 
       <span><strong>350 €</strong></span> 6 €/m²</li>
    <li>Área útil (m²) 
       <span><strong>60 m²</strong></span></li>
    <li>Tipologia 
       <span class="thisSpan"><strong>T1</strong></span></li>
   </ul>
或 在CSS中:
driver.findElement(By.cssSelector(“ul#mainlist span.thissspan”)

你只能得到三分之一的价值。 如果您想要一个具有每个li值的列表。 尝试:
xpath=“//ul[@class=“main list”]///li//text()”
li\u vals\u list=response.xpath(xpath.extract()
使用此方法,您将获得每个li的val,并且只需索引即可获得所需的li的val:)


谢谢。

这段代码来自一个网站,我正在该网站上获取创建爬虫程序的信息。。。我可以添加这段代码吗?如果我添加了这段代码:response.xpath('//ul[@class=“mainlist”]/[span=“Tipology”]/text())。Extract(),出现此错误:ValueError:XPath错误:无效表达式,因此此代码有效:'//ul[@class=“main list”]//li[3]//span'。但是打印:T1。我怎么射这些子弹?文字上写的是“Tipologia”,而不是“Tipology”。
//ul[@id='mainlist']//li[3]//span
<div class="col-md-offer-content">
 <ul class="params-list">
  <li>
   <ul class="main-list">
    <li>Preço 
       <span><strong>350 €</strong></span> 6 €/m²</li>
    <li>Área útil (m²) 
       <span><strong>60 m²</strong></span></li>
    <li>Tipologia 
       <span class="thisSpan"><strong>T1</strong></span></li>
   </ul>
esponse.xpath ('// ul [@ class = "mainlist"] / span[@class="thisSpan"] / text ()'). Extract () 
xpath = '//ul[@class="main-list"]//li[3]//text()'
val = response.xpath(xpath).extract_first()