DIY

Cum se construiește un crawler web de bază în Python

Cum se construiește un crawler web de bază în Python

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

Top 5 aplicații gratuite de streaming video pentru dispozitivele Fire TV Stick și Android din magazinele de aplicații
Există multe opțiuni gratuite pentru streaming de videoclipuri pe stick-ul Fire TV sau pe orice dispozitiv Android. În timp ce Kodi și APK-urile sunt...
Cele mai bune aplicații pentru filme și emisiuni TV (APK-uri) pentru dispozitive Android și Fire TV Stick
Aplicația pentru filme și emisiuni TV Android (APK-uri) a devenit foarte populară ca modalitate de redare în flux a videoclipurilor. Adesea denumite ...
Recenzie Mini proiector LCD DBPOWER T20 1080P HD Home Theater
DBPOWER T20 este un mini proiector mic construit pentru a afișa videoclipuri sau imagini pe o suprafață plană, cum ar fi un perete. Este un sistem ho...