gpt4 book ai didi

python - 如何通过 'th'语句中的关键字抓取表

转载 作者:行者123 更新时间:2023-12-01 00:45:02 24 4
gpt4 key购买 nike

我想根据嵌套在“tr”中的“th”元素的关键字来抓取表格。原因是表格会根据内容顺序而变化,但关键字将保持不变。我想当“th”文本等于“产品编号”时抓取表格并检索“td”文本。该表按“tr”元素排序。我已经接近但不正确。

网址 - https://www.amazon.com/dp/B07G5MZNJ4

我尝试了以下方法,它的工作原理是在表的第一个“tr”中提供第一个“td”的文本。我想知道在哪里插入类似“find 'tr' when 'th' = 'Part Number' return text of 'td'”的内容。值得注意的是,'th' 和 'td' 嵌套在 'tr' 下

 try:
table = soup.find('table', attrs={'id':'product-specification-table'})
mfg1 = table.find('tr')
MFG_NO = mfg1.find('td').text.strip()

except:
pass

当 'th' 包含 'Part Number' 时,我希望得到 'td' 文本。谢谢!

最佳答案

使用正则表达式查找文本,然后使用 find_next('td') 标记。

from bs4 import BeautifulSoup
import requests
import re
data=requests.get('https://www.amazon.com/dp/B07G5MZNJ4').text
soup=BeautifulSoup(data,'html.parser')
table = soup.find('table', attrs={'id':'product-specification-table'})
item=table.find('th',text=re.compile('Part Number'))
MFG_NO=item.find_next('td').text
print(MFG_NO.strip())

输出:

PV-923/1

关于python - 如何通过 'th'语句中的关键字抓取表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57042746/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com