1
为了教育目的,我试图在Python中使用lxml和请求来扫描this page。Python lxml xpath无输出
具体而言,我只是想打印页面上所有教授的研究领域。 这是我迄今为止所做的
import requests
from lxml import html
response=requests.get('http://cse.iitkgp.ac.in/index.php?secret=d2RkOUgybWlNZzJwQXdLc28wNzh6UT09')
parsed_body=html.fromstring(response.content)
for row in parsed_body.xpath('//div[@id="maincontent"]//tr[position() mod 2 = 1]'):
for column in row.xpath('//td[@class="fcardcls"]/tr[2]/td/font/text()'):
print column.strip()
但它不打印任何东西。我用xpaths挣扎了很多,并且在chrome中主要使用了copy xpath功能。我遵循以下SO问题/答案的内容,并清理了我的代码,并在xpaths中清除了'tbody'。代码仍然返回空白。
您的代码完美工作,我明白你写的是什么,谢谢。 现在,我有几个问题: 1.你是如何找出主要内容页面,即[这一个](http://cse.iitkgp.ac.in/faculty4.php?_=1450503917634) 2.在我的代码中,我写的xpath中有什么错误?当我检查铬的“检查”时,他们指出了正确的元素(研究领域)。 – humblenoob
@humblenoob好吧,当然 - 1.我刚刚使用了浏览器开发工具,并检查了页面加载期间发送的请求; 2.你的代码总体上是在正确的轨道上 - 至少有一点是,内部xpath表达式必须以一个点开始,以特定于上下文。希望答案有帮助。 – alecxe