我学习编写python中的webscraping来提取网页数据。
我在互联网上找到了这个代码,但是出现了这个错误:
AttributeError: 'NoneType' object has no attribute 'getText'
这是代码:
from bs4 import BeautifulSoup
import requests
import sys
if len(sys.argv)>=2:
URL=sys.argv[1]
# url text
#URL = "https://www.mbet.es/es/live/animation/5610082"
#
# Realizamos la petición a la web
req = requests.get(URL)
# Comprobamos que la petición nos devuelve un Status Code = 200
status_code = req.status_code
if status_code == 200:
# Pasamos el contenido HTML de la web a un objeto BeautifulSoup()
html = BeautifulSoup(req.text, "html.parser")
resultadoytiempo=html.find('td',{'class':'event-description'})
print ("%s" %resultadoytiempo.getText())
# Obtenemos todos los divs donde están las entradas sobre precio y resultado
entradas = html.find_all('div', {'class': 'nowrap simple-price'})
# Recorremos todas las entradas para extraer el resultado y su cuota
for i, entrada in enumerate(entradas):
# Con el método "getText()" no nos devuelve el HTML
equipo1 = entrada.find('span', {'class': 'left-simple'}).getText()
cuota1= entrada.find('span', {'class': 'right-simple'}).getText()
# Imprimo el equipo/resultado y cuota
print ("%d - %s | %s " % (i + 1, equipo1, cuota1) )
else:
print ("Status Code %d" % status_code)
else:
print ("Falta argumento: url de la página mbet a analizar");
谢谢:)
我编辑
print(“%s”%resultadoytiempo).getText()
到
print(“%s”%resultadoytiempo.getText())
但没有任何改变
答案 0 :(得分:0)
这会导致在打印函数的后退值上调用getNext
print ("%s" %resultadoytiempo).getText()
使用以下
if resultadoytiempo is not None:
print ("%s" %resultadoytiempo.getText())
答案 1 :(得分:-1)
print
不会返回任何内容,因此您无法就其返回的内容致电getText
。