Веб-сканер в Python.С чего начать и чему следовать?- Нужна помощь - PullRequest
6 голосов
/ 29 июля 2010

У меня есть промежуточные знания в Python. Если мне нужно написать веб-сканер на Python, что я должен следовать и с чего начать. есть какой-то конкретный тут? любой совет будет очень полезен .. спасибо

Ответы [ 8 ]

7 голосов
/ 29 июля 2010

Я настоятельно рекомендую взглянуть на Scrapy .Библиотека может работать с BeautifulSoup или любым другим предпочитаемым вами HTML-парсером.Я лично использую его с lxml.html.

Из коробки вы бесплатно получаете несколько вещей:

  • Параллельные запросы, благодаря Twisted
  • CrawlSpider объекты рекурсивно ищут ссылки на всем сайте
  • Отличное разделение извлечения и обработки данных, которое максимально использует возможности параллельной обработки
5 голосов
/ 29 июля 2010

Если вы все еще хотите написать один с нуля, вам следует использовать модуль mechanize . Он включает в себя все необходимое для имитации браузера и автоматизации извлечения URL-адресов. Я буду лишним, а также скажу BeautifulSoup для разбора любого HTML, который вы получаете. В противном случае, я бы пошел с Scrapy ...

5 голосов
/ 29 июля 2010

Вам наверняка понадобится html-библиотека для разбора.Для этого вы можете использовать BeautifulSoup.Вы можете найти множество примеров и руководств по извлечению URL-адресов и обработке возвращенного HTML на официальной странице: http://www.crummy.com/software/BeautifulSoup/

3 голосов
/ 29 июля 2010

Почему бы не поискать существующий код , который уже делает то, что вам нужно? Если вам нужно создать его самостоятельно, все равно стоит посмотреть на существующий код и разобрать его, чтобы выяснить, как он работает.

2 голосов
/ 29 июля 2010

В IBM Developer Works есть статья на эту тему https://www.ibm.com/developerworks/linux/library/l-spider/#N101C6. Скорее всего, вы захотите использовать библиотеки, предложенные другими, но это даст вам общее представление о потоке.

2 голосов
/ 29 июля 2010

Это зависит от ваших потребностей. Если вам нужна базовая веб-обработка, то механизация + BeautifulSoup сделает это.

Если вам нужен рендеринг javascript, я бы выбрал Selenium или spynner . Оба великолепны.

1 голос
/ 29 июля 2010

Еще одна хорошая библиотека, которая может вам понадобиться, - для разбора каналов. Теперь, когда у вас есть BeautifulSoup для URL, вы можете использовать Feedparser для каналов. http://www.feedparser.org/

0 голосов
/ 02 февраля 2016
import re, urllib

textfile = file('depth_1.txt','wt')
print "Enter the URL you wish to crawl.."
print 'Usage  - "http://dynamichackerboys.blogspot.in" <-- With the double quotes'
myurl = input("@> ")
for i in re.findall('''href=["'](.[^"']+)["']''', urllib.urlopen(myurl).read(), re.I):
        print i 
        for ee in re.findall('''href=["'](.[^"']+)["']''', urllib.urlopen(i).read(), re.I):
                print ee
                textfile.write(ee+'\n')
textfile.close()

print 'Использование - "http://dynamichackerboys.blogspot.in" <- с двойными кавычками' myurl = input (" @> ") для i в re.findall ('' 'href ="' [")']' '', urllib.urlopen (myurl) .read (), re.I): выведите i for ee в re.findall ('' 'href = "' [" ']' '', urllib.urlopen (i) .read (), re.I): напечатать ee textfile.write (ee + '\ n') textfile.close ()

Для сканирования на веб-сайте

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...