You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python抓取网页表格指定tr/td?以获取姓名用于自动输入为例

如何用Python抓取网页表格中指定的tr/td元素内容?

嘿,我看你已经尝试用lxml的XPath来抓取目标内容了,但原来的写法依赖固定的行索引(比如tr[3]),这其实不太靠谱——万一网页表格的行顺序调整了,你的代码就失效了。我给你两种更稳定的实现方式:

方法一:用lxml的XPath精准定位(推荐,更简洁)

我们可以通过标签文本来定位对应的内容,而不是固定行号。比如找到文本为“First Name”的<td>,然后获取它的兄弟<td>里的内容:

from lxml import html
import requests

# 请求网页
page = requests.get('https://www.getnewidentity.com/uk-identity-generator.php')
tree = html.fromstring(page.content)

# 通过标签文本定位对应的内容
firstname = tree.xpath('//td[text()="First Name"]/following-sibling::td/text()')[0]
lastname = tree.xpath('//td[text()="Last Name"]/following-sibling::td/text()')[0]

# 输出结果
print('FirstName: ', firstname)
print('LastName: ', lastname)
input("Press Enter to close...")

为什么这个方法更好?

它不依赖表格的行顺序,只要网页里保留了“First Name”和“Last Name”这两个标签,不管表格新增/删除其他行,代码都能正常抓取到内容。

方法二:用BeautifulSoup遍历行(更直观,可读性强)

如果你觉得XPath有点抽象,也可以用BeautifulSoup来遍历表格的每一行,匹配标签文本后提取内容:

首先需要先安装BeautifulSoup:

pip install beautifulsoup4

然后是代码:

from bs4 import BeautifulSoup
import requests

# 请求网页
page = requests.get('https://www.getnewidentity.com/uk-identity-generator.php')
soup = BeautifulSoup(page.content, 'html.parser')

# 找到目标表格
target_table = soup.find('table', id='reslist')
# 获取表格里的所有行
rows = target_table.find_all('tr')

firstname = None
lastname = None

# 遍历每一行,匹配标签文本
for row in rows:
    tds = row.find_all('td')
    # 确保当前行有两个td元素(标签和内容)
    if len(tds) == 2:
        label = tds[0].text.strip()
        value = tds[1].text.strip()
        if label == 'First Name':
            firstname = value
        elif label == 'Last Name':
            lastname = value

# 输出结果
print('FirstName: ', firstname)
print('LastName: ', lastname)
input("Press Enter to close...")

这个方法的优势:

代码逻辑非常直观,就算是新手也能看懂每一步在做什么,而且同样不受行顺序变化的影响。

你可以根据自己的习惯选择其中一种方法,两种都能稳定抓取到你需要的FirstName和LastName,用来自动填充浏览器输入完全没问题~

内容的提问来源于stack exchange,提问作者GoekhanDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:18:28