2012-04-18 3 views
0

Очень просто получить простую веб-страницу. Как я могу видеть из python's manumalПолучить весь сайт python

import urllib2 
response = urllib2.urlopen('http://python.org/') 
html = response.read() 

Но как извлечь весь сайт? Может ли кто-нибудь указать мне код?

ответ

1

Используйте BeautifulSoup для разбора сайта и повторите процесс для каждой ссылки, если он не приведет вас за пределы домена.

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

+1

beautifulsoup - отличный инструмент для этого с помощью функции 'findAll'. +1 – Endophage

+1

Спасибо, я проверю это прямо сейчас. – Bogdan

+0

@Bogdan: Нет проблем, просто имейте в виду, что вы не получили что-то, что вы уже выбрали (вы можете сделать это, просто сохранив страницы на диске относительно их относительного местоположения на сервере - таким образом вы сможете увидеть если файл уже загружен). – Tadeck

0

Вы можете использовать комбинацию

Вы можете извлечь ссылки на веб-страницы и отслеживать, если вы имеете уже посетил эту страницу или нет, и если URL-адрес принадлежит к тому же сайту или нет и выберет их.

Вам нужно иметь в виду уровень вложенности, который вам понадобится для индексации этой страницы. В противном случае страницы, которые вы собираетесь получить, будут экспоненциально расти

Смежные вопросы