Octet scurt: Web crawler este un program care navighează pe Internet (World Wide Web) într-un mod predeterminat, configurabil și automatizat și efectuează acțiuni date asupra conținutului accesat cu crawlere. Motoarele de căutare precum Google și Yahoo folosesc spideringul ca mijloc de a furniza date actualizate.
Webhose.io, o companie care oferă acces direct la date în direct de la sute de mii de forumuri, știri și bloguri, pe 12 august 2015, a postat articolele care descriu un crawler mic, multi-thread, scris în python. Acest crawler web Python este capabil să acceseze întregul web pentru dvs. Ran Geva, autorul acestui mic crawler web Python, spune că:
Am scris ca „Dirty”, „Iffy”, „Bad”, „Not very good”. Spun, se face treaba și descarcă mii de pagini de pe mai multe pagini în câteva ore. Nu este necesară configurarea, nu există importuri externe, pur și simplu rulați următorul cod python cu un site de semințe și stați pe spate (sau mergeți să faceți altceva, deoarece ar putea dura câteva ore sau zile, în funcție de cât de multe date aveți nevoie).Crawlerul multi-threaded bazat pe python este destul de simplu și foarte rapid. Este capabil să detecteze și să elimine legăturile duplicate și să salveze atât sursa, cât și legătura, care pot fi utilizate ulterior în găsirea legăturilor de intrare și de ieșire pentru calcularea rangului de pagină. Este complet gratuit și codul este listat mai jos:
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): pentru adresa URL din re.findall („] + href = ["'] (. [^"'] +) ["']", html, re.I): link = url.split ("#", 1) [0] dacă url.începe cu ( "http") else 'uri.scheme: // uri.netloc' .format (uri = urlparse.urlparse (origLink)) + url.split ("#", 1) [0] if link in dupcheck : continua 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) coadă URL-uri (html, link) cu excepția (KeyboardInterrupt, SystemExit): ridicați cu excepția Exception: pass în timp ce este adevărat: thread.start_new_thread (getHTML, (q.get (),)) time.sleep (0.5)
Salvați codul de mai sus cu un anumit nume, să spunem „myPythonCrawler.py”. Pentru a începe accesarea cu crawlere a oricărui site web, trebuie doar să tastați:
$ python myPythonCrawler.py https://fossbytes.com
Așezați-vă și bucurați-vă de acest crawler web în python. Acesta va descărca întregul site pentru dvs..
Deveniți un profesionist în Python cu aceste cursuri
Îți place acest crawler web cu mai multe fire, bazat pe python, mort? Spuneți-ne în comentarii.
Citește și: Cum să creați USB bootabil fără niciun software în Windows 10