Python xpath从表中获取文本

时间:2018-11-12 19:05:50

标签: python html api xpath request

因此,使用request和lxml,我一直在尝试创建一个小的API,给定的某些参数可以从某个网站this one下载时间表,这是我是一个完全的新手,除了这些东西之外,从几个小时以来我似乎什么都没得到。

我一直在弄乱xpath代码,但是我得到的大部分只是一个简单的[]。我一直在尝试获取与小时的第一行(8.00-8.30)相对应的课程的第一行,该行可能应该像这样[,,IntroduçãoàGestão,]出现。

page = requests.get('https://fenix.iscte-iul.pt/publico/siteViewer.do?method=roomViewer&roomName=2E04&objectCode=4787574275047425&executionPeriodOID=4787574275047425&selectedDay=1542067200000&contentContextPath_PATH=/estudante/consultar/horario&_request_checksum_=ae083a3cc967c40242304d1f720ad730dcb426cd')
tree = html.fromstring(page.content)
class_block_one = tree.xpath('//table[@class="timetable"]/tbody/tr[1]/td[@class=*]/a/abbr//text()')
print(class_block_one)

1 个答案:

答案 0 :(得分:1)

要从第一行(实际上是第二行)获取必需的文本,可以在XPath下面尝试

'//table[@class="timetable"]//tr[2]/td/a/abbr//text()'

您可以从所有行中获取值:

for row in tree.xpath('//table[@class="timetable"]//tr'):
    print(row.xpath('./td/a/abbr//text()'))