AttributeError:'NoneType'对象没有属性'getText'(Python)

时间:2018-02-20 11:53:58

标签: python gettext

我学习编写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())

但没有任何改变

2 个答案:

答案 0 :(得分:0)

这会导致在打印函数的后退值上调用getNext

print ("%s" %resultadoytiempo).getText()

使用以下

if resultadoytiempo is not None:
    print ("%s" %resultadoytiempo.getText())

答案 1 :(得分:-1)

print不会返回任何内容,因此您无法就其返回的内容致电getText