首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用python抓取网站时无法获取<p>的文本

使用python抓取网站时无法获取<p>的文本
EN

Stack Overflow用户
提问于 2016-09-12 11:53:59
回答 2查看 34关注 0票数 0

以下是该网站的源码:

代码语言:javascript
运行
复制
      <p class="fc-gray">
           hello
       <span class="">2010-10</span> 
       <em class="shuxian">|</em>
             4.2                 
      </p>

我想得到值4.2。下面是我的代码(carInfoDiv是一个xpath元素选择器):

代码语言:javascript
运行
复制
        miles = carInfoDiv.xpath("p[contains(@class,'fc-gray')]/text()").extract()[0]

这样,我得到了字符串'hello',我也尝试了字符串(.),但得到了<p>中的所有字符串,而不是我想要的结果。请告诉我在这种情况下如何只得到4.2。

EN

回答 2

Stack Overflow用户

发布于 2016-09-12 14:04:58

我不太了解xpath。但正则表达式可能会对您有所帮助

这不是很优雅,但对你来说是可行的。

代码语言:javascript
运行
复制
>>> import re
>>> html = """
    <p class="fc-gray">
       hello
    <span class="">2010-10</span>
    <em class="shuxian">|</em>
         4.2
    </p>
"""
>>> search = re.search('em>[\n\s]*(?P<result>[\d.]+).*', html, flags=re.DOTALL)
>>> if search:
...     print(search.group('result'))
...     
4.2
票数 0
EN

Stack Overflow用户

发布于 2016-09-12 15:54:25

您位于<P>元素的最后一个文本子元素之后,因此可以在XPath表达式中添加一个[last()]谓词:

代码语言:javascript
运行
复制
>>> import scrapy
>>> s = scrapy.Selector(text="""      <p class="fc-gray">
...            hello
...        <span class="">2010-10</span> 
...        <em class="shuxian">|</em>
...              4.2                 
...       </p>""")
>>> s.xpath('.//p[@class="fc-gray"]/text()[last()]')
[<Selector xpath='.//p[@class="fc-gray"]/text()[last()]' data='\n             4.2                 \n     '>]
>>> s.xpath('.//p[@class="fc-gray"]/text()[last()]').extract_first()
'\n             4.2                 \n      '
>>> s.xpath('.//p[@class="fc-gray"]/text()[last()]').extract_first().strip()
'4.2'
>>>> # alternative using XPath's normalize-space() to do the whitespace stripping
>>> s.xpath('normalize-space(.//p[@class="fc-gray"]/text()[last()])').extract_first()
'4.2'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39443136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档