Registre el proceso de Xiaobai aprendiendo el rastreador de Python (1)

Registre el proceso de Xiaobai aprendiendo el rastreador de Python (1)

Después de aprender la sintaxis básica de Python, instalé python3.6.4 y pycharm2017, y comencé el viaje del rastreador de Python.

import lxml.html,requests
url = 'https://www.python.org/dev/peps/pep-0020/'
xpath = '//*[@id="the-zen-of-python"]/pre/text()'
res = requests.get(url)
ht = lxml.html.fromstring(res.text)
text = ht.xpath(xpath)
print('Hello,\n'+''.join(text))

Este es un programa de rastreo llamado HelloSpider. Es el primer programa de rastreo que Xiaobai quiere aprender. Se puede llamar HelloWorld en el campo de rastreo de Python.

Me encontré con problemas al principio. Ningún intérprete de Python seleccionado aparece en Pycharm. Después de consultar los datos, descubrí que se debe a que lxml y otras bibliotecas no se han configurado en el intérprete del proyecto.

Después del ajuste, el contenido de "The Zen of Python" se publicó con éxito. ¡Realmente 666!

Inserte la descripción de la imagen aquí

A continuación, analice el programa HelloSpider frase por frase

import lxml.html,requests

El código anterior usa la importación para importar los dos módulos lxml.html y solicitudes

url = 'https://www.python.org/dev/peps/pep-0020/'

El código anterior define la URL variable, que es un enlace a una página web que se rastreará.

xpath = '//*[@id="the-zen-of-python"]/pre/text()'

He estado atrapado en este lugar durante mucho tiempo y podría entenderlo más tarde. La variable xpath se usa para localizar elementos y proviene de la biblioteca lxml. La oración id = "the-zen-of-python es el objeto a posicionar. Se puede reemplazar con name = ..., class = ... etc. de acuerdo con la información de texto en el html.

Eso es "// nombre de etiqueta [@ atributo =" valor de atributo "]"

El siguiente / pre es el índice del texto. Es imprescindible. Si se borra, no se ejecutará con normalidad. Debe ser para aclarar el alcance del texto.

En cuanto a / text (), ¿tal vez sea para obtener el texto?

res = requests.get(url)

El código anterior usa el método get () en Solicitudes para enviar una solicitud HTTP GET a la URL, y el valor de retorno se asigna a res.

ht = lxml.html.fromstring(res.text)

fromstring () convierte el contenido de texto en objetos HtmlElement al analizar el formato lxml. Para ser honesto, no entiendo bien aquí.

text = ht.xpath(xpath)
print('Hello,\n'+''.join(text))

Texto de salida

Hay muchos detalles, así que no los repetiré.

Más tarde, aprendí a verificar si el sitio web se puede rastrear, verificar la tecnología utilizada por el sitio web y la información del propietario del sitio web.

Supongo que te gusta

Origin blog.csdn.net/weixin_48916816/article/details/108570326
Recomendado
Clasificación