我正在使用谷歌的 appengine api
from google.appengine.api import urlfetch
获取网页。的结果
result = urlfetch.fetch("http://www.example.com/index.html")
是 html 内容的字符串(在 result.content 中)。问题是我要解析的数据并不是真正的 HTML 格式,所以我不认为使用 python HTML 解析器对我有用。我需要解析 html 文档正文中的所有纯文本。唯一的问题是 urlfetch 返回整个 HTML 文档的单个字符串,删除所有换行符和多余的空格。
编辑: 好的,我尝试获取不同的 URL,显然 urlfetch 没有去除换行符,这是我试图解析的原始网页以这种方式提供 HTML 文件...... 结束编辑
如果文件是这样的:
<html><head></head><body>
AAA 123 888 2008-10-30 ABC
BBB 987 332 2009-01-02 JSE
...
A4A 288 AAA
</body></html>
在 urlfetch 获取它之后,result.content 将是这样的:
'<html><head></head><body>AAA 123 888 2008-10-30 ABCBBB 987 2009-01-02 JSE...A4A 288 AAA</body></html>'
使用 HTML 解析器不会帮助我处理 body 标签之间的数据,所以我打算使用正则表达式来解析我的数据,但是正如你所看到的,一行的最后一部分与下一行的第一部分结合在一起,我不知道如何拆分它。我试过
result.content.split('\n')
和
result.content.split('\r')
但结果列表只是 1 个元素。我在谷歌的 urlfetch 函数中看不到任何不删除换行符的选项。
有什么想法可以解析这些数据吗?也许我需要以不同的方式获取它?
提前致谢!