📅  最后修改于: 2023-12-03 15:35:47.818000             🧑  作者: Mango
在使用 XPATH 进行网页数据抓取时,表格数据是我们最常遇到的一种情况。那么,如何使用 XPATH 来定位表格元素呢?
一般情况下,我们可以通过以下方式来定位表格元素:
//table // 表示查找全部 table 元素
//table[@class="myTable"] // 表示查找 class 属性为 myTable 的 table 元素
进入 table 元素后,我们可以使用以下方式来进一步定位表格数据:
//table/tr // 表示查找 table 下的全部 tr 元素,即表格行
//table/tr/td // 表示查找 table 下的全部 td 元素,即表格单元格
//table/tr[2]/td[3] // 表示查找 table 的第二行、第三列的单元格
下面是一个示例代码,演示了如何使用 XPATH 进入表格,并取出表格中的数据:
import requests
from lxml import etree
url = 'https://www.example.com/mytable.html'
response = requests.get(url)
html = response.content
selector = etree.HTML(html)
table = selector.xpath('//table[@class="myTable"]')[0]
rows = table.xpath('.//tr')
for row in rows:
cells = row.xpath('.//td')
for cell in cells:
data = cell.xpath('.//text()')
print(data)
以上就是 XPATH 进入表格的介绍,我们可以通过简单的 XPATH 定位和遍历表格中的数据。当然,具体情况可能要根据实际情况进行微调,但基本原理是一致的。