¿Cuál es la mejor manera de crear un rastreador para indexar imágenes de sitios de comercio electrónico?

Una de las cosas más importantes para construir un rastreador es diseñarlo de tal manera que supere la falla.

Debe esperar que falle y compilarlo de manera que esté bien. Lo que significa que tienes que construir componentes independientes.

Usar Mechanize dentro de un ciclo de solicitud de respuesta seguramente hará el trabajo; pero sepa qué, se produce un error de red en algún momento, a veces una página no responde y a veces se obtiene una imagen que no está en la etiqueta esperada. Todo esto termina claramente en el error del programa, deteniéndose o bloqueándose.

Lo último que debería ser su trabajo debería ser seguir buscando estos errores y seguir ejecutando el script una y otra vez hasta que ya no falle, lo que puede llevar mucho tiempo.

Probablemente debería usar un marco como Scrapy, y diseñar tres componentes diferentes: rastreador, extractor y sintetizador – Los tres con sus propias fuentes de datos separadas que se alimentan entre sí – Para un raspador a gran escala, para extraer datos de forma regular, una instancia de Redis (con Pub / sub) o un ZMQ estaría bien. Pero para una extracción única, probablemente pueda hacerlo solo con una base de datos SQLite.

La separación de las preocupaciones es muy importante. Un rastreador debe tener una fuente de datos (una tabla) que sea una lista de todas las páginas para raspar y usted debe poder ejecutarlo independientemente y cualquier cantidad de instancias que desee, para acelerarlo (Scrapy proporciona esta infraestructura). Un extractor debería poder usar estas páginas raspadas y extraer los datos de interés en un modelo de extracción de datos. Y el sintetizador podría ejecutarse en el modelo de datos extraído para masajearlo como desee y actualizarlo donde desee.

Otra cosa más importante. – Sus programas deberían poder manejar todos y cada uno de los errores. – Registre todos los errores y deje que el programa continúe ejecutándose. Mire los registros del programa para corregir errores y volver a ejecutarlos en el conjunto de datos.

Te sugiero Scrapy sobre mecanizar, selenio u otras plataformas de raspado porque

1) Facilidad de uso.
2) Multiproceso para que las solicitudes y respuestas sean más rápidas.
3) Tienen sus propios mecanismos para eliminar datos no estructurados, llamados xpathselectors.
4) La canalización de imágenes Scrapy puede manejar su necesidad de indexar imágenes

Pero si está planeando rastrear e indexar un sitio de un millón de páginas, le sugiero que apache Nutch. Su indexación y búsqueda de Solr integrada es sorprendente y más rápida que cualquier otro rastreador.

Existen varias herramientas de rastreo web disponibles en el mercado. Una de las mejores herramientas de rastreo web es desarrollada por netUcon Company a través de esta herramienta, puede rastrear cualquier información desde cualquier fuente. También puede crear rastreadores según los requisitos del cliente.

Son expertos en brindar servicios como

1. proyectos de desarrollo .net

(Microsoft .NET Framework 1.1 / 2.0 / 3.0 / 3.5 / 4.0 / 4.5)

2. Integración de comercio electrónico

(Integración de Amazon, integración de Ebay, integración de Shopify, integración de Volusion)

3. Raspado de datos web

(Yelp, solo marca, Carid, LinkedIn, Amazon, sitios web gubernamentales, sitios de redes sociales, etc.)

4. Integración rápida de libros

5. Integración de software de contabilidad

6. Desarrollo de sitios web personalizados

7. Desarrollo de ERP

8. Entrada de datos

9. Minería de datos

10. Generación de leads en “LinkedIn, Twitter y Facebook”.

11. BPO: – Procesamiento de datos

12. Marketing digital, etc.

puedes usar esto

Desarrollaron esta conexión de LinkedIn. Creador, este LCC es útil para eliminar a los CEO: Buscar conexiones con diferentes CEO, Crear contactos B2B, Crear contactos B2C, Generadores líderes, Comercializadores digitales, Bloggers que publican sus blogs en LinkedIn, etc.

Para más detalles echa un vistazo

Creador de conexiones de LinkedIn (LCC) .docx

Puede leer más sobre Netucon aquí: http://www.netucon.com

También tienen desarrolladores que puedes contratar para hacer el trabajo por ti; su Skype es “netrocks7”

Si desea crear un rastreador simple, puede consultar los videos disponibles en este curso Introducción a la clase de informática en línea (CS101).
Pero antes de continuar y rastrear el sitio, solicite permisos al propietario del sitio. Rastrear el sitio sin permiso no es ético. Solo eche un vistazo al archivo robots.txt del sitio antes de ejecutar su rastreador en cualquier sitio.

Puede analizar el html del sitio usando beautifulsoup y objetos de sopa, siempre que el sitio tenga un diseño estándar, luego puede usar beautifulsoup como un script de python para eliminar sus datos de la página web, raspado web utilizando Python.

Necesita scrapy con un sistema que ejecuta python.

La forma más fácil sería utilizar Mechanize. Aquí hay un buen tutorial: Emular un navegador en Python con mecanizar

Aquí lo que usé para rastrear Imagen

importar json
importar pdb
importar urllib
mecanizado de importación
importación cookielib

mecanice la base ya que puede simular comportamientos del navegador mediante la codificación.

More Interesting

¿El futuro de PHP es más brillante que JSP y ASP debido a la política de código abierto que hace que cada vez más marcos estén disponibles para desarrollar aplicaciones web sostenibles? ¿Crees que en el futuro, PHP superará la necesidad de ASP y JSP?

Quiero construir una aplicación web basada en jQuery, pero no sé nada sobre JavaScript o jQuery. ¿Donde debería empezar?

¿Es escalable la alta demanda de inmediatez y sincronicidad en las redes sociales?

¿Cuáles son los mejores lenguajes de programación en 2015 para construir una aplicación web full stack?

¿Cuáles son los aprendizajes clave que aplica cuando prueba un prototipo de aplicación web?

Cómo obtener un proyecto de desarrollo web que también me dará dinero

Cómo mantener una programación competitiva y el desarrollo de aplicaciones web

¿Cómo puedo evitar que mi aplicación web se ejecute en los límites de la carpeta?

¿Cuáles son algunas de las mejores analogías de desarrollo web?

¿Qué tipo de arquitectura permite que los sitios web de SaaS como Salesforce.com eviten que los complementos subóptimos los eliminen?

¿Por qué las aplicaciones nativas en Android tienen una gran demanda en lugar de las aplicaciones híbridas y web?

¿Existen problemas de seguridad con el uso de javascript para iniciar sesión y decirle al usuario que ingresó sus datos de inicio de sesión correctamente?

¿Cuánto tiempo tomaría desplazarse hasta el final de tumblr?

¿De cuántas maneras podemos almacenar imágenes de nuestra aplicación web?

¿Cuál es la diferencia entre diseño web y desarrollo web? ¿Se puede aprender uno sin el otro?