【问题标题】:Python getting next line following a certain ConditionPython在特定条件后获取下一行
【发布时间】:2013-01-22 03:02:51
【问题描述】:

我正在尝试找到一种在 url 页面中返回值的好方法。

我希望每次列出“span class="按钮”时我都可以抓取下一行

"跨度 class=" 按钮" 0.87

我想得到 0.87

我正在尝试:

 import urllib

 url = 'http://test.com'
 sock = urllib.urlopen(url)
 content = sock.read().splitlines()
 sock.close()

 for i in content:
     i = i.strip()

这是我卡住的地方,我如何获得下一行?

【问题讨论】:

  • HTML 不需要行-您的示例也很垃圾-请参阅@dm03515 的回答和我的评论

标签: python url python-2.7


【解决方案1】:

如果这是 HTML,您可以使用像 BeautifulSoup 这样的 html 解析器

buttons = soup.findAll('span', {'class': 'button'})
for button in buttons:
  button.nextSibling

这个用的是nextSibling,好像最新版的美汤改成了next_sibling

Python 有一个内置的 HTMLParser 如果你的数据是

<span class="button">
0.87
</span>

你可以像example那样创建一个类

【讨论】:

  • 你知道在没有漂亮汤的情况下这样做吗?
  • @AdamG。您是在问是否有一种方法可以在不使用 HTML 解析器的情况下解析格式错误的 HTML 数据(至少可以做出最好的猜测)!?
  • 是的,我可以在不使用 BS4 的情况下获得下一行 HTML 吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-04
相关资源
最近更新 更多