Red de conocimiento informático - Problemas con los teléfonos móviles - Error de atributo informado cuando se ejecuta en Python: el objeto 'NoneType' no tiene el atributo 'grupo'

Error de atributo informado cuando se ejecuta en Python: el objeto 'NoneType' no tiene el atributo 'grupo'

#?coding=utf-8

importar?re

importar?sys

importar?time

importar?solicitudes

de?lxml?import?etree

import?importlib

importlib.reload(sys)

#Definir un rastreador

class?spider(object):

def?__init__(self):

print('Empezando a rastrear contenido...')

#getsource se utiliza para obtener el código fuente de la página

def?getsource(self, url):

html?=?requests.get(url)

return html.text

#changepage se utiliza para generar enlaces con diferentes números de página

def?changepage(self, url, total_page):

if? re.search( 'index_(\d )', url, re.S):

página_ahora?=?int( re.search('index_(\d)', url, re.S) .group(1 ))#modificable

else:

now_page?=?0

page_group?=?[]

para ?i?in ?range(now_page,total_page 1):

link?=?re.sub('index_\d ','index_s'i,url,re.S)#modificable

page_group.append (enlace)

return?page_group

#getpic se utiliza para capturar imágenes de páginas web

def?getpic(self, source ):

selector?=?etree.HTML(fuente)

pic_url?=?selector.xpath('//ul[@class="ali"]/li/div/a/img /@src') #modificable

return?pic_url

#savepic se utiliza para guardar los resultados en la carpeta de imágenes

def?savepic(self, pic_url ):

picname=re.findall('(\d )', enlace, re.S)#modificable

picnamestr?=?''

'' .join(picname )

i=0

para?cada?en?pic_url:

print('ahora?descargando:{}'. formato(cada uno))?

pic?=?request.get(cada uno)

fp?=?open('pic\' picnamestr? '-' str(i)? '.jpg',?

wb')

fp.write(pic.content)

fp.close()

i?=?1

# Métodos de la clase de colección ppic

def?ppic(self,?link):

print('Página de procesamiento: {}'.format(link))

html?=?picspider.getsource(enlace)

pic_url?=?picspider.getpic(html)

picspider.savepic(pic_url )

si? __main__':

inicio?=?time.time()

url?=?/' #modificable

picspider?=?spider()

all_links?=?picspider.changepage(url,3)?#modificable

para?link?in?all_links:

picspider.ppic(enlace)

p>

end?=?time.time()

print('tiempo transcurrido: {}'.format(inicio-fin))

La calidad del código es muy normal. Ni siquiera me molesté en mirar en detalle, solo agregué una declaración if.

Se recomienda echar un vistazo a la clase de reptiles del profesor Song Tian, ​​el nivel será mayor.