majsterkowanie

Jak zbudować podstawowy przeszukiwacz sieciowy w Pythonie

Jak zbudować podstawowy przeszukiwacz sieciowy w Pythonie

Krótkie bajty: Przeszukiwacz sieci WWW to program, który przegląda Internet (World Wide Web) w z góry określony, konfigurowalny i zautomatyzowany sposób oraz wykonuje określone działanie na przeszukanej treści. Wyszukiwarki takie jak Google i Yahoo wykorzystują spację jako sposób dostarczania aktualnych danych.

Firma Webhose.io, która zapewnia bezpośredni dostęp do danych na żywo z setek tysięcy forów, wiadomości i blogów, 12 sierpnia 2015 r. Opublikowała artykuły opisujące niewielki, wielowątkowy robot indeksujący, napisany w języku Python. Ten robot sieciowy Python jest w stanie przeszukać cały Internet. Ran Geva, autor tego małego robota indeksującego Python, mówi, że:

Napisałem jako „brudny”, „niepewny”, „zły”, „niezbyt dobry”. Mówię, że wykonuje swoją pracę i pobiera tysiące stron z wielu stron w ciągu kilku godzin. Żadna konfiguracja nie jest wymagana, żadne zewnętrzne importy, po prostu uruchom następujący kod Pythona z witryną źródłową i usiądź (lub zrób coś innego, ponieważ może to zająć kilka godzin lub dni w zależności od tego, ile danych potrzebujesz).

Wielowątkowy przeszukiwacz oparty na Pythonie jest dość prosty i bardzo szybki. Jest w stanie wykryć i wyeliminować zduplikowane linki oraz zapisać zarówno źródło, jak i łącze, które można później wykorzystać do wyszukiwania linków przychodzących i wychodzących do obliczania pozycji strony. Jest całkowicie darmowy, a kod znajduje się poniżej:

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): dla adresu URL w re.findall ("] + 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 : kontynuuj dupcheck.add (link) if len (dupcheck)> 99999: dupcheck.clear () q.put (link) def getHTML (link): try: html = urllib.urlopen (link) .read () open (str (czas.czas ()) + ".html", "w"). write (""% link + "\ n" + html) queueURLs (html, link) z wyjątkiem (KeyboardInterrupt, SystemExit): raise z wyjątkiem Exception: pass while True: thread.start_new_thread (getHTML, (q.get (),)) time.sleep (0.5)

Zapisz powyższy kod pod jakąś nazwą, powiedzmy „myPythonCrawler.py”. Aby rozpocząć indeksowanie dowolnej witryny internetowej, wystarczy wpisać:

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

Usiądź wygodnie i ciesz się tym robotem sieciowym w języku Python. Ściągnie dla Ciebie całą witrynę.

Zostań profesjonalistą w Pythonie dzięki tym kursom

Czy podoba Ci się ten martwy prosty, wielowątkowy robot indeksujący oparty na języku Python? Daj nam znać w komentarzach.

Przeczytaj także: Jak utworzyć rozruchowy dysk USB bez żadnego oprogramowania w systemie Windows 10

Jaka jest najlepsza sieć VPN dla urządzenia Android TV Box 2021?
Posiadanie VPN zainstalowanej na urządzeniu z Android TV dodaje warstwę bezpieczeństwa i anonimowości, którą dobrze mieć. Dostępnych jest wiele sieci...
Jak zainstalować aplikację UK Turks Playlist (APK) na Android TV Box
Playlista UK Turks ma nową aplikację (APK), którą można zainstalować na urządzeniach z Android TV lub Fire TV Stick.Zawiera sekcje telewizji na żywo, ...
Jak zainstalować Filelinked na Android TV Box lub Fire TV Stick
Strona Spis treści Jak zainstalować Filelinked na Android TV Box Jak zainstalować Filelinked na Fire TV Stick Filelinked to popularna aplikacja, k...