【问题标题】:Requests stopped by new paragraph新段落停止的请求
【发布时间】:2015-10-27 16:11:50
【问题描述】:

我在从网站抓取数据时遇到以下问题,返回的文本被 a 截断

  <p> blabla </p> 

在源代码中。 我如何获得将 AND 之前的文本返回给我的请求?

代码:

from lxml import html
import requests

page = requests.get('http://sitetoscrape.com')
tree = html.fromstring(page.text)

#Mitglieder
members = tree.xpath('//div[@class="details"]/text()')

print 'Mitglieder: ', members

示例: 在 HTML 中:

<div class="details">Altherr Hans<br /><br />
Kanton Appenzell A.-Rh.<p>FDP-Liberale Fraktion (RL)<br />
FDP.Die  Liberalen (FDP-Liberale) </p>

我从上面的代码中得到了什么:

'Altherr Hans', '\r\n 
Kanton Appenzell A.-Rh.',

【问题讨论】:

  • 您必须为问题提供更多详细信息。
  • 添加了一个有问题的 html 代码示例以及我从脚本中获得的返回。

标签: python html request screen-scraping


【解决方案1】:

您不需要在 xpath 中添加 /text。 tree.xpath 将生成一个 html 元素列表。遍历它并获取文本内容将创建所需的结果。

from lxml import html
import requests

page = requests.get('http://sitetoscrape.com')
tree = html.fromstring(page.text)

#Mitglieder
members = tree.xpath('//div[@class="details"]')

for i in members:
    print i.text_content()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-04
    相关资源
    最近更新 更多