Как собрать сканер в Python

Оглавление:

Как собрать сканер в Python
Как собрать сканер в Python

Видео: Как собрать сканер в Python

Видео: Как собрать сканер в Python
Видео: Мутант на 12700H | Замена Xeon? 2023, Декабрь
Anonim
Image
Image

Короткие байты:Web-сканер - это программа, которая просматривает Интернет (World Wide Web) заранее определенным, настраиваемым и автоматическим способом и выполняет заданные действия с просканированным контентом. Поисковые системы, такие как Google и Yahoo, используют паук как средство предоставления актуальных данных.

12 августа 2015 г. компания Webhose.io, предоставляющая прямой доступ к оперативным данным с сотен тысяч форумов, новостей и блогов, опубликовала статьи, описывающие крошечный многопоточный веб-сканер, написанный на python. Этот поисковый робот Python способен сканировать весь Интернет для вас. Ран Гева, автор этого крошечного поискового робота, говорит, что:

Я написал как «Грязный», «Иффи», «Плохо», «Не очень хорошо». Я говорю, он выполняет свою работу и загружает тысячи страниц с нескольких страниц за считанные часы. Никакой настройки не требуется, никакого внешнего импорта, просто запустите следующий код Python с начальным сайтом и бездельничайте (или сделайте что-нибудь еще, потому что это может занять несколько часов или дней, в зависимости от того, сколько данных вам нужно).

Многопоточный сканер на основе Python довольно прост и очень быстр. Он способен обнаруживать и удалять дубликаты ссылок и сохранять источник и ссылку, которые впоследствии могут быть использованы при поиске входящих и исходящих ссылок для расчета рейтинга страницы. Это абсолютно бесплатно, и код указан ниже:

импорт sys, поток, очередь, re, urllib, urlparse, время, os, sys dupcheck = set () q = Queue.Queue (100) q.put (sys.argv [1]) def queueURLs (html, origLink): для URL в re.findall ('' '] + href = ["'] (. [^"'] +) ["']' '', html, re.I): link = url.split (" # ", 1) [0] если url. startwith ("http") else '{uri.scheme}: // {uri.netloc}'.format (uri = urlparse.urlparse (origLink)) + url.split ("#", 1) [0] если ссылка в dupcheck: продолжить dupcheck.add (ссылка), если len (dupcheck)> 99999: dupcheck.clear () q.put (ссылка) def getHTML (ссылка): try: html = urllib.urlopen (ссылка).read () открыть (str (time.time ()) + ".html", "w"). write (""% link + " n" + html) queueURLs (html, link) кроме (KeyboardInterrupt, SystemExit): повышать, кроме исключения: pass while True: thread.start_new_thread (getHTML, (q.get (),)) time.sleep (0.5)

Сохраните приведенный выше код с некоторым именем, скажем, «myPythonCrawler.py». Чтобы начать сканирование любого веб-сайта, просто введите:

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

Расслабьтесь и наслаждайтесь этим веб-сканером в python. Он загрузит весь сайт для вас.

Стать профессионалом в Python с этими курсами

Вам нравится этот мертвый простой многопоточный веб-сканер на Python? Дайте нам знать в комментариях.

Рекомендуемые: