解析HTML以获取Python中的特定标签

时间:2018-10-03 21:08:04

标签: python python-3.x beautifulsoup html-parsing string-parsing

我正在尝试使用Python解析HTML源。我正在为此目的使用BeautifulSoup。我需要获取的所有td标签都具有nameX格式的形式,其中X从1开始。因此,它们与我们的name1, name2, ...一样多。

我该如何实现?我使用正则表达式的简单代码无法正常工作。

soup = BeautifulSoup(response.text,"lxml")
resp=soup.find_all("td",{"id":'name*'})

错误:

IndexError: list index out of range

1 个答案:

答案 0 :(得分:1)

使用lambda +以

开头
soup.find_all('td', id=lambda x: x and x.startswith('name'))

或正则表达式

 soup.find_all('td', id=re.compile('^name'))