Articles of web crawler

Cómo extraer URL de una página HTML en Python

Tengo que escribir un rastreador web en Python. No sé cómo analizar una página y extraer las URL de HTML. ¿Dónde debo ir y estudiar para escribir un progtwig así? En otras palabras, ¿existe un progtwig Python simple que pueda usarse como plantilla para un rastreador web genérico? Idealmente, debería usar módulos que sean relativamente […]

Scrapy – logueando el archivo y la salida estándar simultáneamente, con nombres de arañas

Decidí usar el módulo de registro de Python porque los mensajes generados por Twisted on std error son demasiado largos, y quiero INFO mensajes significativos como los generados por StatsCollector para escribir en un archivo de registro separado mientras mantengo el mensajes de pantalla. from twisted.python import log import logging logging.basicConfig(level=logging.INFO, filemode=’w’, filename=’buyerlog.txt’) observer = […]

Tutorial Scrapy Ejemplo

Mirando para ver si alguien me puede orientar en la dirección correcta respecto al uso de Scrapy en python. He intentado seguir el ejemplo durante varios días y aún no puedo obtener la salida esperada. Usé el tutorial de Scrapy, http://doc.scrapy.org/en/latest/intro/tutorial.html#defining-our-item , e incluso descargo un proyecto exacto del repository de github pero la salida […]

Scrapy: acceda a los datos mientras rastrea y cambia aleatoriamente el agente de usuario

¿Es posible acceder a los datos mientras se está rastreando scrapy? Tengo un script que encuentra una palabra clave específica y escribe la palabra clave en .csv, así como el enlace donde se encontró. Sin embargo, tengo que esperar a que se realice el rastreo de scrapy, y cuando se hace esto, en realidad se […]

¿Cómo convertir una cadena en un objeto BeautifulSoup?

Estoy intentando rastrear un sitio web de noticias y necesito cambiar un parámetro. Lo cambié por reemplazar con el siguiente código: while i < len(links): conn = urllib.urlopen(links[i]) html = conn.read() soup = BeautifulSoup(html) t = html.replace('class="row bigbox container mi-df-local locked-single"', 'class="row bigbox container mi-df-local single-local"') n = str(t.find("div", attrs={'class':'entry cuerpo-noticias'})) print(p) El problema es […]

scrapy no imprime stacktrace en excepción

¿Existe un mecanismo especial para forzar a scrapy a imprimir todas las excepciones / seguimientos de stack de python? Cometí el simple error de obtener un atributo de lista incorrecto que resultó en AttributeError que no se mostró en su totalidad en los registros. Lo que apareció fue: 2015-11-15 22:13:50 [scrapy] INFO: Dumping Scrapy stats: […]

Web Scraper para formas dinámicas en python

Estoy tratando de llenar el formulario de este sitio web http://www.marutisuzuki.com/Maruti-Price.aspx . Se compone de tres listas desplegables. Uno es el modelo del automóvil, el segundo es el estado y el tercero es la ciudad. Los dos primeros son estáticos y el tercero, la ciudad se genera dinámicamente según el valor del estado, se ejecuta […]

Llamar a scrapy desde un script de Python que no crea el archivo de salida JSON

Aquí está el script de python que estoy usando para llamar scrapy, la respuesta de El rastreo de Scrapy desde el script siempre bloquea la ejecución del script después del raspado def stop_reactor(): reactor.stop() dispatcher.connect(stop_reactor, signal=signals.spider_closed) spider = MySpider(start_url=’abc’) crawler = Crawler(Settings()) crawler.configure() crawler.crawl(spider) crawler.start() log.start() log.msg(‘Running reactor…’) reactor.run() # the script will block here […]

¿Cómo forzar a scrapy a rastrear la URL duplicada?

Estoy aprendiendo Scrapy un marco de rastreo web. de forma predeterminada, no rastrea las direcciones URL duplicadas o las que scrapy ya ha rastreado. ¿Cómo hacer que Scrapy rastree las URL duplicadas o que ya se han rastreado? Intenté averiguarlo en internet pero no pude encontrar ayuda relevante. Encontré DUPEFILTER_CLASS = RFPDupeFilter y SgmlLinkExtractor de […]

Scrapy establece el límite de profundidad por permitidos_dominios

Estoy rastreando 6 dominios distintos permitidos y me gustaría limitar la profundidad de 1 dominio. ¿Cómo podría limitar la profundidad de ese dominio 1 en scrapy? ¿O sería posible rastrear solo 1 profundidad de un dominio externo?