LinuxParty

Ratio:  / 1
MaloBueno 

Un Web crawler es un programa que navega por Internet de una manera predeterminada, configurable y automática, realizando acciones programadas en el contenido crawler. Los motores de búsqueda como Google y Yahoo utilizan rastreadores como medio de proporcionar datos de búsqueda, es decir, estos rastreadores encuentran y almacenan lo que luego tu vas a buscar.

 El rastreador multi-hilo basado python es bastante simple y rápido. Es capaz de detectar y eliminar enlaces duplicados y guardar la fuente y el enlace de la que luego puede usarse en la búsqueda de enlaces entrantes y salientes para el cálculo de fila de la página. Es totalmente gratuito y el código se muestra a continuación:

(Puede que dependiendo de la seguridad de la página, no funcione en todas las webs)


import sys, thread, Queue, re, urllib, urlparse, time, os, sys
dupcheck = set()  
q = Queue.Queue(100) 
q.put(sys.argv[1]) 
def queueURLs(html, origLink): 
    for url in re.findall('''<a[^>]+href=["'](.[^"']+)["']''', html, re.I): 
        link = url.split("#", 1)[0] if url.startswith("http") else '{uri.scheme}://{uri.netloc}'.format(uri=urlparse.urlparse(origLink)) + url.split("#", 1)[0] 
        if link in dupcheck:
            continue
        dupcheck.add(link)
        if len(dupcheck) > 99999: 
            dupcheck.clear()
        q.put(link) 
def getHTML(link): 
    try:
        html = urllib.urlopen(link).read() 
        open(str(time.time()) + ".html", "w").write("" % link  + "\n" + html) 
        queueURLs(html, link) 
    except (KeyboardInterrupt, SystemExit): 
        raise
    except Exception:
        pass
while True:
    thread.start_new_thread( getHTML, (q.get(),)) 
    time.sleep(0.5)

Guarde el código como LinuxPartyCrawler.py

Para iniciar el rastreo escriba:

python LinuxPartyCrawler.py http://es.wikipedia.org

Disfrute!

¡¡Atención!!
 Algunas Webs, (incluida la nuestra) tienen herramientas que protegen de ciertos bots y crawlers, y pueden bloquearte el acceso a la web, incluso de forma permanente. Haz pruebas bajo tu responsabilidad.

En otros artículos intentaré mostrar otros códigos similares realizados en PHP.

Comentarios   

0 # rafa 14-09-2017 03:24
Hola en la escuela para la clase de big data me pidieron un codigo de web crawler que funcione para descargar paginas, me pueden ayudar a pasarme su codigo o decirme como lo hago correr en mi computadora por favor?
Responder | Responder con una citación | Citar
0 # LinuxParty 20-09-2017 23:52
Hola Rafa:

Me sorprende que escribas eso, arriba ves el código y una explicación de cómo funciona. Evidentemente desde un Linux. Si no tienes Linux, deberás hacerlo correr desde la consola de tu sistema, y "python", deberá estar en el path para poder ejecutarse.
Responder | Responder con una citación | Citar

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Encuesta de LinuxParty

Crees que la robotización traerá acarreada...

Que la gente abandonará las ciudades para vivir en los pueblos. - 16.4%
Que en los pueblos la robotización se frenará por los humanos - 13.1%
Que a la gente no les gustarán sus vecinos robots. - 3.3%
Que los negocios pequeños sufrirán la carencia de clientes humanos. - 9.8%
Que los humanos achacarán su desgracia a los robots y pasará algo grave. - 19.7%
Que los robots se levantarán contra los humanos y nos exterminarán. - 37.7%

Total votes: 61
The voting for this poll has ended on: 30 Sep 2017 - 00:00

Donar a LinuxParty

La mejor forma de darnos las gracias, es hacer una donación.


Tutorial de Linux

Nos obligan a moslestarte con la obviedad de que este sitio utiliza Cookies. Ver política