我试图提取下表的第二列,即肌肉的名称: http://www.drjastrow.de/WAI/Vokabular/Muskeln-A1.html
以下是我目前的代码:
import requests
import time
from bs4 import BeautifulSoup as soup
url = "http://www.drjastrow.de/WAI/Vokabular/Muskeln-A1.html"
links = []
time.sleep(1)
print(url)
page = requests.get(url)
text = soup(page.text, 'html.parser')
table = text.select('table')[1]
rows = table.find_all('tr')[2:]
names = []
for row in rows:
names.append(row.find_all('td')[1].text.replace('\n', ''))
print(names)
问题是它有时会让我得到行的第二列,有时是第三列,这取决于第一列是否扩展到两行。有道理,但我不知道怎么解决。你知道吗
感谢你的建议!你知道吗
可以将属性选择器与类型选择器结合使用,以具有
name
属性的a
类型/标记元素为目标。比熊猫更轻,特别是如果你只是想要那些肌肉的名字。你知道吗您可以考虑这样一个事实,即第二行始终具有特定的宽度:
width="15%"
。您可以尝试在每行中选择具有此宽度的单元格(请注意,最后一列有时具有相同的属性,您应该选择第一个元素)。你知道吗试试这个:
输出是标题为“麝香-肌肉(解剖学术语)”的列。你知道吗
相关问题 更多 >
编程相关推荐