0
使用下面的代碼我如何解析html表格結果? html的一個例子可以在前面找到。從lxml的HTML表格中獲取結果
import requests
from lxml import etree
import StringIO
def http_request():
try:
url = "http://somehost/somehtml.html"
r = requests.get(url, auth=("theUser", "thepass"))
r.encoding ='ISO-8859-1'
html = r.content
parse_result(html)
except requests.HTTPError, e:
return False
sys.exit(1)
def parse_result(result):
parser = etree.HTMLParser()
tree = etree.parse(StringIO.StringIO(result), parser)
# Here should be the logic to parse the html result :)
if __name__ == '__main__':
http_request()
這是HTML:
<!DOCTYPE html PUBLIC "-//W3C//Dtd XHTML 1.0 Strict//EN"
"http://www.w3.org/tr/xhtml1/Dtd/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content=
"HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org" />
<title></title>
</head>
<body>
<table border="1">
<tr>
<td valign="top"><B>name</B></td>
<td>result name a</td>
</tr>
<tr>
<td valign="top"><B>inUse</B></td>
<td>false</td>
</tr>
</table>
<table border="1">
<tr>
<td valign="top"><B>name</B></td>
<td>result name b</td>
</tr>
<tr>
<td valign="top"><B>inUse</B></td>
<td>false</td>
</tr>
</table>
<table border="1">
<tr>
<td valign="top"><B>name</B></td>
<td>result name c</td>
</tr>
<tr>
<td valign="top"><B>inUse</B></td>
<td>true</td>
</tr>
</table>
</body>
</html>
和預期resould將檢索名和INUSE域結果,至極是 「結果名稱」 和 「假」 。
在此先感謝。
嗨, 與真正的例子它的命名和inuse輸出量的主要區別。有超過200個結果。 – 2013-05-06 17:40:27
它是否與'inUse'行在所有結果的'name'行之後有相同的形式? – MichaelJCox 2013-05-06 17:51:36
我會通過在表中添加更多條目來提出問題 – 2013-05-07 11:06:24