Rastreador de selenio y python (5) [procesamiento de datos (destino 4) ejemplo de traducción de Baidu]

La diferencia entre el selenio para obtener el código fuente de una página web

Este primer blog ya está escrito. Pero lo que quiero reiterar aquí es su diferencia


drive=webdriver.Chrome()

drive.get('https://www.baidu.com/')
print(drive.page_source)

page_source es el código fuente devuelto por selenium, pero la diferencia entre esto y lo que obtenemos a través de la biblioteca de solicitudes es. Selenium se puede actualizar de forma dinámica y constante. Selenium se parece más a un navegador. Puede hacer que la página se muestre directamente en Ajax como un navegador.
Por ejemplo, cuando usa solicitudes, no
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
puede encontrarlo cuando rastrea la red de anzuelos .
Inserte la descripción de la imagen aquí

Lo podemos encontrar en el elemento, esto se debe a que esta cosa se carga en el navegador para que selenium pueda obtenerla de forma natural, pero al usar solicitudes solo se visita una de las URL, naturalmente solo se puede obtener una. La relación se muestra en la figura, si usa solicitudes para acceder solo a url_1 y el contenido está en url_2
Inserte la descripción de la imagen aquí

Ejemplo

from selenium import webdriver
import time

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as Ec
drive=webdriver.Chrome()
drive.get('https://fanyi.baidu.com/?aldtype=16047#zh/en')

def set_word():

    try:
        InputTag=WebDriverWait(drive,10).until(
            Ec.presence_of_element_located((By.ID,'baidu_translate_input'))
        )
        InputTag.send_keys('你好')
    except Exception as e :
        print(e)
set_word()#百度会刷新一次所以要两次
time.sleep(2)
set_word()



print(drive.page_source)

El resultado actual (se devuelve Hello) en
Inserte la descripción de la imagen aquí
comparación con el anterior (mediante solicitudes)
Inserte la descripción de la imagen aquí

Luego lo ponemos en etree y usamos xpath o directamente usamos re para extraer los resultados de la traducción.

declaración

Debido al tiempo limitado, Inserte la descripción de la imagen aquí
el siguiente código no se escribirá, lo cual es relativamente simple. Bueno, básicamente el selenio necesita mucho uso.

Supongo que te gusta

Origin blog.csdn.net/FUTEROX/article/details/108503604
Recomendado
Clasificación