晚安,为什么我返回“美元”,即将返回“beautifulsoupattributeerror:'NoneType'对象没有属性'encode'”,我做错了什么?我想把这段代码中的美元报价带进来
import
from bs4 import BeautifulSoup
import urllib.request as url
site = "https://economia.uol.com.br/cotacoes/"
try:
url2 = site
con = url.urlopen(url2, None, 7)
if con.status == 200:
HTML = con.read()
soup = BeautifulSoup(HTML, 'html.parser')
dolar = re.search(r'Cotacao do Dolar: ',
str(soup.find('div', attrs={'class': 'subtituloGrafico subtituloGraficoValor'})))
return dolar
except Exception as e:
if str(e) == 'HTTP Error 404: NOT FOUND':
return 'Error'
return str(e)
很简单。这是:
因为汤里什么也没找到,所以一个也没有返回。确保你确实在正确地搜索它,它不是动态创建的等等。你知道吗
您还可以按文本搜索并使用BS提取它,而不必显式使用re。你知道吗
正如@Pythonista所说的,因为汤里什么也没找到。我尝试在浏览器中按类搜索您需要的内容,然后发现
class="subtituloGrafico subtituloGraficoValor"
属于<a>
。所以我明白你想要什么。你知道吗注意:
soup.find("h3",{"class":"tituloGrafico"})
用于缩小搜索范围相关问题 更多 >
编程相关推荐