[selenium (chrome) + python] referencia de nivel n/biblioteca de referencia y rastreo de literatura de referencia introducción

Biblioteca de reptiles

Hay bibliotecas de rastreadores con las que me he puesto en contacto hasta ahora scrapy, requests + Beautifulsoup or etreeasí como con esta nueva selenium. No sé la diferencia esencial, pero por la forma de llamar, se puede clasificar de la siguiente manera:

  • scrapyAl implementar la herencia de clases, la acción de rastreo se realiza reescribiendo sus propios métodos. Ventajas: rápido, muy rápido; Desventajas: difícil de depurar, no es fácil de escribir; Situación aplicable: grandes proyectos de rastreadores
  • seleniumLa idea en sí es movilizar el propio navegador para que funcione, y cargará varias representaciones de secuencias de comandos, etc., por lo que sus desventajas son muy obvias: lento, muy lento, muy lento. Pero solo porque se manejará toda la información transmitida y al movilizar la enorme estructura del navegador, seleniumse puede completar cualquier operación humana, incluido hacer clic e ingresar para cargar páginas web dinámicas. Situación aplicable: la estructura de la página web es modificable y es necesario interactuar con cierta información para obtenerla.
  • requests + ()A menudo se usa cuando se escriben pequeños experimentos, su gramática es relativamente simple y la lógica es fácil de resolver. En comparación con los dos anteriores, requestsel paquete es adecuado para páginas web estáticas. No es tan seleniumflexible como es, pero es más rápido que él. Por otro lado, es más lento que él scrapypero fácil de escribir. En términos generales, es una biblioteca adecuada para escribir pequeños experimentos.

Los experimentos específicos pueden referirse a esta página .

Esta tarea

  • artículo de raíz: predicción de la estructura de proteínas de alta precisión con Alphafold Un artículo que ha tenido un impacto relativamente grande en Nature en los últimos años, el núcleo general es la aplicación del aprendizaje profundo en la estructura de las proteínas biológicas.
  • Descripción de la tarea: Tomar el documento raíz como origen, buscar hacia arriba (refiriéndose a los documentos del documento raíz) varias generaciones de documentos y hacia abajo (Referencia) varias generaciones de documentos. Es esencialmente una forma similar a una estructura de árbol, pero dado que el documento raíz es el punto de partida, los documentos en el mismo nivel pueden tener referencias mutuas para formar un circuito cerrado, por lo que no es un árbol estricto de la definición de teoría de grafos. Pero al fin y al cabo, es ingeniería, y las matemáticas no tienen por qué ser tan rigurosas, expresar ideas es lo más importante.
  • Rastreo de sitios web: no se recomienda que elija Web Of Science para rastrear, porque su anti-rastreo es muy bueno y varios espacios se llenan muy rápidamente. Cuando lo estaba haciendo, un puerto que estaba disponible el 17 de marzo se bloqueó el 9 de abril. Le sugiero que busque otros sitios web. No sé qué hacer. Después de todo, solo hay unas pocas páginas web de búsqueda de literatura a gran escala. Pruébelo usted mismo y lo sabrá.

situación específica

La página web que quiero rastrear se caracteriza por el hecho de que cada artículo no necesariamente enumera la literatura o las citas en el sitio web. Si tiene suerte o es famoso, puede poner su Referencia y Citado por en la página web para verlos. La mayoría de ellos no sé Los pequeños artículos famosos generalmente no tienen este tipo de tratamiento. Esta es también una deficiencia de un sitio web pequeño: aunque es fácil de rastrear, tiene un mantenimiento relativamente pobre. Algunos de los problemas encontrados al escalar se resumen aquí:

  1. Asegúrese de usar oraciones cuando envíe cualquier solicitud y busque en el sitio web, de lo contrario, más de la mitad del rastreo será causado por una convulsión momentánea, o la página no se actualizará a tiempo debido a la velocidad de la red y causará un bloqueo, y no habrá donde seleniumllorar webdriver.(get)(find_element)try...except
  2. driverXPath y CSS son compatibles al ubicar ciertos datos, pero debo recordar una cosa, y creo que es muy malo al diseñar y nombrar. Hay dos métodos: find_elementy , que find_elementspuede entenderse como la diferencia scrapy shellentre y . El primero toma el primer elemento recuperado que cumple con los requisitos de recuperación y el segundo devuelve todos los elementos encontrados. Realmente no es bueno usar solo one s para distinguir, y debe prestar atención al realizar la depuración.responseextract_firstextract
  3. ! ! ¡importante! ! Al ubicar por Xpath, si se encuentra el Xpath haciendo clic derecho en f12 -> Copiar -> Copiar XPath, generalmente tiene algo similar a la posición en la matriz, como [3] y [1 en él. ] //*[@id="b_results"]/li[3]/div[1]/h2/a. No recomiendo indexar de esta manera, especialmente cuando tus páginas web son dinámicas y hay más o menos diferencias de estructura entre diferentes páginas web, es muy probable que no puedas recuperar o recuperar los elementos de los que quieres la situación. Por lo tanto, se recomienda que elimine estas cosas cuando las tome en el primer paso y seleccione class idla información que desea usar para la nueva evaluación.

algunos métodos

driverHay varios métodos de recuperación, como find_element_by_xpatho find_element_by_css, pero al llamar, avisará que estos no deben usarse. Use este find_element(by=,value=), y luego llame By.XPATHpara llamar a la misma función. Mi evaluación es quitarse los pantalones y tirarse un pedo. Problemas.
Escribiré sobre algunas ideas nuevas más tarde, hasta que se envíe el código fuente.

el código

La tarea de nuestro grupo se enseñará este martes, tengan paciencia conmigo por el momento y compartan el código fuente después de entregar la tarea\doge

Supongo que te gusta

Origin blog.csdn.net/Petersburg/article/details/124069580
Recomendado
Clasificación