1
我想在网站http://164.100.47.132/LssNew/Members/Alphabaticallist.aspx中获得“Menber的名称”一栏,所以我想程序返回的是“Adhalrao Patil, Shri Shivaji ..“,但我得到一个空的列表。 Xpath在Firepath中得到验证,所以我只是不知道什么是错的。 这里是我的代码:当我使用lxml获取网站信息时,为什么程序返回空列表
import urllib
from lxml import etree
result = urllib.urlopen("http://164.100.47.132/LssNew/Members/Alphabaticallist.aspx")
html = result.read()
parser = etree.HTMLParser()
tree = etree.parse(StringIO.StringIO(html), parser)
print type(tree)
xpath = ".//* [@id='ctl00_ContPlaceHolderMain_Alphabaticallist1_dg1']/tbody/tr[position()>1]/td[position()=3]/a/text()"
filtered_html = tree.xpath(xpath)
print filtered_html
,并返回:
[]
然而,当我使用其他的XPath:
.//*[@id='ctl00_ContPlaceHolderMain_Alphabaticallist1_dg1_ctl02_Hyperlink2']
我能得到第一列的值:
[Adhalrao Patil,Shri Shivaji]
这两个xpath都在firepath验证,为什么前者不能工作?
非常感谢你,你的XPath可以工作。我能问另外一个问题吗?您是否有正确的方法来查看通过lxml过滤的整个html代码? –
@ QM.py:我使用浏览器的“View Page Source”。另外[scrapy shell](http://doc.scrapy.org/en/latest/topics/shell.html) – Birei