DIY

Jak vytvořit základní webový prohledávač v Pythonu

Jak vytvořit základní webový prohledávač v Pythonu

Krátké bajty: Webový prohledávač je program, který prochází internet (World Wide Web) předem určeným, konfigurovatelným a automatizovaným způsobem a provádí danou akci s procházeným obsahem. Vyhledávače jako Google a Yahoo používají spidering jako prostředek k poskytování aktuálních dat.

Společnost Webhose.io, která poskytuje přímý přístup k živým datům ze stovek tisíc fór, zpráv a blogů, zveřejnila 12. srpna 2015 články popisující malý webový prohledávač s více vlákny napsaný v pythonu. Tento webový prohledávač python je schopen procházet celý web za vás. Ran Geva, autor tohoto malého pythonového webového prohledávače, říká, že:

Psal jsem jako „Dirty“, „Iffy“, „Bad“, „Not very good“. Říkám, že to zvládne a stáhne tisíce stránek z více stránek během několika hodin. Není vyžadováno žádné nastavení, žádné externí importy, stačí spustit následující kód pythonu se semenným webem a sedět (nebo jít udělat něco jiného, ​​protože to může trvat několik hodin nebo dní v závislosti na tom, kolik dat potřebujete).

Vícevláknový prohledávač založený na pythonu je velmi jednoduchý a velmi rychlý. Je schopen detekovat a eliminovat duplicitní odkazy a uložit zdroj i odkaz, které lze později použít při hledání příchozích a odchozích odkazů pro výpočet hodnocení stránky. Je zcela zdarma a kód je uveden níže:

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): pro adresu URL v re.findall ("] + href = ["'] (. [^"'] +) ["']", html, re.I): link = url.split ("#", 1) [0] pokud url.startswith ( "http") else 'uri.scheme: // uri.netloc' .format (uri = urlparse.urlparse (origLink)) + url.split ("#", 1) [0] pokud je odkaz v dupchecku : 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) kromě (KeyboardInterrupt, SystemExit): zvýšit kromě Výjimka: předat while True: thread.start_new_thread (getHTML, (q.get (),)) time.sleep (0.5)

Uložte výše uvedený kód s nějakým názvem, řekněme „myPythonCrawler.py“. Chcete-li začít procházet jakýkoli web, zadejte:

$ python myPythonCrawler.py https://fossbytes.com

Pohodlně se usaďte a užívejte si tento webový prohledávač v pythonu. Stáhne vám celý web.

Staňte se profesionálem v Pythonu s těmito kurzy

Líbí se vám tento mrtvý jednoduchý vícevláknový webový prohledávač založený na pythonu? Dejte nám vědět v komentářích.

Přečtěte si také: Jak vytvořit zaváděcí USB bez jakéhokoli softwaru v systému Windows 10

Recenze Mini projektor LCD DBPOWER T20 1080P HD domácí kino
DBPOWER T20 je malý mini projektor postavený pro zobrazování videí nebo obrázků na rovný povrch, například na zeď. Vytváří velmi pěkný systém domácíh...
Jak nainstalovat aplikaci Stremio (APK) pro zařízení Android a Fire TV Stick
Stremio je špičková video aplikace (APK) pro zařízení Android, jako jsou TV boxy, smartphony a Fire TV Stick. Streamuje filmy a televizní pořady v dob...
Jak nainstalovat aplikace Android Plus (APK) pro Android a Fire TV Stick
Film Plus je špičková video aplikace (APK) pro zařízení Android, jako jsou TV boxy, smartphony a Fire TV Stick. Streamuje filmy a televizní pořady a v...