我试图从a.href标记中获取文本值时遇到困难。我设法隔离目标值,但在尝试get_text()时仍然遇到错误。
import requests
from bs4 import BeautifulSoup
base_url = 'http://finviz.com/screener.ashx?v=152&s=ta_topgainers&o=price&c=0,1,2,3,4,5,6,7,25,63,64,65,66,67'
html = requests.get(base_url)
soup = BeautifulSoup(html.content, "html.parser")
main_div = soup.find('div', attrs = {'id':'screener-content'})
table = main_div.find('table')
sub = table.findAll('tr')
rows = sub[5].findAll('td')
for row in rows:
data = row.a
print data
答案 0 :(得分:2)
假设您实际上是在尝试打印data.get_text()
,那么row
中的某些rows
会失败 - 因为在某些情况下,td
中没有子链接元素{1}}细胞。您可以事先检查是否找到了链接:
for row in rows:
link = row.a
if link is not None:
print(link.get_text())
请注意,“row”和“rows”可能不是最好的变量名,因为您实际上正在迭代“cells” - td
元素。