Red de conocimiento informático - Problemas con los teléfonos móviles - python especifica la URL

python especifica la URL

Hoy simplemente utilicé el módulo re y el módulo lxml de Python y utilicé las expresiones regulares y xpath que proporcionan para analizar la fuente de la página y extraer los títulos requeridos. xpath es muy eficiente para completar una tarea tan pequeña, y la razón por la que estoy usando expresiones regulares aquí es porque xpath puede causar galimatías cuando se trata de páginas especiales. Cuando aparecen caracteres confusos, esto, por supuesto, no se debe a xpath, sino al conflicto entre la codificación de la página en sí y la transcodificación utf-8. Echemos un vistazo al código:

Python extrae el. Método de título de la página URL especificada (Python obtiene la URL de la página actual) Python extrae la página de inicio del script del título de la URL 1

#! /usr/bin/python

#-*-coding:utf-8-**-

'''

Función: extraer título del contenido de la página de la URL especificada

'''

importar re

importar chardet

importar urllib

desde lxml importar etree

def utf8_transfer(strs):

'''

conversión de codificación utf8

'''

prueba:

if isinstance(strs, unicode):

strs = strs.encode('utf-8')

elif chardet.detect(strs)['codificación '] == 'GB2312':

strs = strs.encode('utf-8')

elif chardet.detect(strs)['codificación'] == 'utf -8':

strs = strs.decode('utf-8', 'ignore').encode('utf-8')

Excepción, e:

print 'utf8_transfer error', strs, e

return strs

def get_title_xpath (Html):

'''

Utilice xpath para extraer el título de la página web

'''

Html = utf8_transfer(Html)

Html_encoding = chardet.detect(Html)[' codificación ']

página = etree.HTML(Html, parser=etree.HTMLParser(codificación=Html_encoding)