即時嘗試匹配來自html輸出的一些數據,但我不知道我能做些什麼來執行它的權利。因此,使用下面的代碼塊IM中提取的訪問和組信息的內容:從HTML表格解析結果
import requests
import lxml.etree as LE
import lxml.html as LH
url = "http://theurl"
r = requests.get(url,auth=('user', 'pass'))
html = r.text
root = LH.fromstring(html)
LE.strip_tags(root, 'b')
data_list = root.xpath("""//td[text()='grouplist']
/following-sibling::*""")[0]
accessList= data_list.xpath("""//td[text()='access']
/following-sibling::*/text()""")
groups = data_list.xpath("""//td[text()='groups']
/following-sibling::*/text()""")
如果我打印accesslist中,我有我想要的數據:
print accessList
['Administrators', 'group_a', 'group_b', 'group_c']
但是當我打印組,返回的結果將是:
print groups:
['\n','\n','\n']
有了這樣的信息,有什麼事情才能做才能得到:
print groups
['group_a', 'group_b', 'group_c']
在這裏,你可以看到返回的HTML導致
<TABLE bgcolor="#dddddd" border="1" />
<TR>
<TD valign="top"><B>grouplist</B></TD>
<TD>
<TABLE />
<TR>
<TD>
<TABLE bgcolor="#dddddd" border="1" />
<TR>
<TD valign="top"><B>access</B></TD>
<TD>Administrators</TD>
</TR>
<TR>
<TD valign="top"><B>inUse</B></TD>
<TD>true</TD>
</TR>
<TR>
<TD valign="top"><B>groups</B></TD>
<TD>
<TABLE>
<TR>
<TD>group_a</TD>
</TR>
<TR>
<TD>group_b</TD>
</TR>
<TR>
<TD>group_c</TD>
</TR>
</TABLE>
</TD>
</TR>
<TR>
<TD valign="top"><B>deny</B></TD>
<TD>
<TABLE>
</TABLE>
</TD>
</TR>
編輯:提前 html tester
感謝:HTML代碼可以在這裏進行測試。
什麼是'LH'?什麼是'LE'?請提供工作代碼片段,而不是沒有提供進一步細節的代碼片段。 –
@CRUSADER,感謝您指出這一點。 le和lh是lxml.etree和lxml.html。現在添加在主要問題上。 –