我正在尝试使用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
答案 0 :(得分:1)
使用lambda +以
开头soup.find_all('td', id=lambda x: x and x.startswith('name'))
或正则表达式
soup.find_all('td', id=re.compile('^name'))