Soy un hombre bueno, un gran civiles inocentes.
Bueno o malo, la clave es que el usuario Oh!
Scrapy
Es una herramienta de adquisición de datos de uso común;
Selenium
Es una herramienta de automatización de pruebas del navegador;
Combinado Scrapy
mecanismo de procesamiento y los datos Selenium
para simular navegador real para obtener los datos (por ejemplo: inicio de sesión automático, el cambio de página automático, etc.). Puede completar mejor la adquisición.
sobre Scrapy
Scrapy
Es el desarrollador de herramientas de una recopilación de datos común en la Web, por API
la obtención de los datos que hemos llegado a ser comunes, pero algunos WebSite
todavía a "rendimiento o seguridad" razones, evitado deliberadamente por algunos medios técnicos API
a la transferencia de datos (por ejemplo, páginas estáticas, una muestra de una sola vez, etc.). Por lo tanto, con el fin de ser capaz de recoger estos datos, podemos analizar los sitios y estructura de etiquetas, y luego por medio de Scrapy
la recolección de datos.
Informar a la Scrapy
función del Marco, y en concreto nosotros cómo ayudó en la recolección de datos que? Echar un vistazo a Scrapy
la estructura de la misma:
Scrapy
El flujo de datos se compone de Scrapy Engine
un control, de flujo:
Engine
Inicialización, y de laSpider
solicitud de adquisición.- Para
Request
el planificador. - Programador
Request
envió uno por uno para elScrapy Engine
consumidor. Scrapy Engine
Al descargar el programa de descarga a petición de middleware.- Descargador utilizará
Request
la página adquirida como unResponse
retorno al resultadoScrapy Engine
. Scrapy Engine
A partir deDownloader
la recepciónResponse
y envíaSpider
proceso (araña Middleware).Spider
ProcesamientoResponse
yScrapy Engine
retornoItem
.Scrapy Engine
Envía el procesadoItem
a unaItem Pipeline
señal de transmisión, mientras que el procesado en conjunto para el planificador (Scheduler
), a petición de una solicitud de recogida.
Repita el proceso de solicitud de recogida pasos anteriores, hasta que Scheduler
ninguna nueva Request
.
Scrapy
Tutorial de instalación: HTTPS: //doc.scrapy.org/en/lat ...
la creación del proyecto scrapy
Hoy en día tomar 清博大数据
como una muestra de casos, para automatizar el inicio de sesión, la búsqueda y recopilación de datos automatizada.
En el archivo en el directorio raíz de la ejecución:
scrapy startproject Qingbo
A continuación, introduzca el directorio qingbo/
a la siguiente:
scrapy genspider rastreo gsdata.cn
Ven en el directorio siguiente:
Qingbo / scrapy .cfg # desplegar el archivo de configuración Qingbo / # Módulo de Python proyecto, importará su código de aquí Papel pintado __init__. Py artículos .PY # Proyecto Definición de archivos artículos middleware .PY # métodos de puesta en marcha y el acceso del navegador en esta operación tuberías .py # manipulación en este proceso final de datos Configuración .PY # Configuración del archivo del proyecto arañas / # un directorio del DONDE luego a poner sus arañas el __init__. Py rastreo .py # conexiones y proceso de acceso a los datos de rastreo aquí
De hecho, la forma de Scrapy
combinar Selenium
la mayor cantidad es crítica,middlewares.py
Específicamente, ¿cómo el paquete puede hacer referencia en el presente documento: HTTPS: //www.osgeo.cn/scrapy/t ...
Acerca de selenio
Selenium
Es una fuente abierta de prueba automatizada de marco para verificar la aplicación Web por diferentes navegadores y plataformas actualmente soportar múltiples llamadas de idiomas, tales como: Python, Java, PHP y así sucesivamente.
pruebas de Selenium se ejecutan directamente en el navegador, igual que los usuarios reales hacen lo mismo, a fin de tomar ventaja de esto, podemos mejorar la recopilación de datos.
El selenio tutorial de instalación de Python: HTTPS: //selenium-python-zh.re ...
El selenio Caso
Si no hay acceso directo al estado de inicio de sesión clara amplio de datos de vídeo Tencent
No es sorprendente, entonces, se saltará a la página de inicio de sesión de inicio de sesión. Como ya se ha mencionado Selenium
el entorno de la instalación, donde directamente sobre el código:
sitio abre
= Opciones de las opciones () options.headless = Falso conductor = webdriver.Firefox (= Opciones Opciones) driver.get ( ' https://u.gsdata.cn/member/login ' ) driver.implicitly_wait ( 10) # página se abre requiere tiempo de carga, se propone añadir una espera silenciosa
la operación de inicio de sesión
Dos se pueden encontrar en la pestaña, a saber: identificación de código de dos dimensiones, Qing Bo cuenta de inicio de sesión.
Página ha sido abierto, la forma de cuenta de pestaña-blog que realice la desconexión?
Aquí lo que necesitamos saber acerca de XPath (Lenguaje de rutas XML), que es un documento XML se utiliza para determinar la posición de una parte de la lengua.
En pocas palabras, lo que podemos "claro-blog cuenta de inicio de sesión" la lengüeta de posicionamiento con XPath
driver.find_element_by_xpath ( " .//div[@class='loginModal-content']/div/a[2] " ) .click ()
A continuación, vaya a la caja de contraseña de la cuenta, rellene la información:
driver.find_element_by_xpath ( " .//input[@name='username '] " ) .send_keys ( " nombre de usuario " ) driver.find_element_by_xpath ( " .//input[@name='password'] " ) .send_keys ( " contraseña " )
Por último, haga clic en el botón de inicio de sesión:
driver.find_element_by_xpath ( " .//div/button[@class='loginform-btn '] " ) .click () driver.implicitly_wait ( 5)
inicio de sesión correcto! ~
operación de consulta
driver.get ( ' http://www.gsdata.cn/ ' ) driver.find_element_by_xpath ( " .//input[@id='search_input '] " ) .send_keys ( " 腾讯视频" ) driver.find_element_by_xpath ( " . // botón [@ class = 'Bot sin BTN-default fl search_wx'] " ) .click () driver.implicitly_wait ( 5)
Después de los resultados de búsqueda son los siguientes:
Por Xpath
el posicionamiento del vídeo Tencent a
pestaña, y luego haga clic en el vídeo Tencent datos de contenido de la página:
driver.find_element_by_xpath ( " .//ul[@class='imgword-list']/li[1]/div[@class='img-word']/div[@class='word']/h1/a " ) .click () driver.implicitly_wait ( 5)
contenido página
Aquí, y no tiene miedo de sorpresas? Ahora se puede por Xpath
el procesamiento que necesita para localizar y adquirir contenidos, no elaborado.
Cerrar Operación
driver.close ()
Los datos completa adquisición, si no hay otra operación, y se puede poner fuera del navegador.
resumen
En este capítulo se describe Scrapy
y Selenium
conceptos básicos y el uso general, en general, nos puede ayudar a ofrecer nuevas soluciones e ideas para resolver algunos de los problemas.
Referencia
https://www.cnblogs.com/luozx207/p/9003214.html
https://kite.com/blog/python/web-scraping-scrapy/
https://docs.scrapy.org/en/latest/intro/tutorial.html