Как сканировать сайт с помощью Python и Mechanize - PullRequest
2 голосов
/ 04 ноября 2011

Как я могу использовать Mechanize with Python для сканирования сайта, рекурсивно переходя по каждой ссылке на каждой странице?

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

1 Ответ

2 голосов
/ 04 ноября 2011

Вот некоторый псевдо-код, чтобы вы начали, дайте мне знать, если вам нужно больше:

br = make browser object
visited=set()
max_depth=10
def crawl_all_links(browser,depth):
    if depth <= max_depth:
        for link in browser.links():
            if link not in visited:
                visited.add(link)
                browser.open(link)
                do_something(browser.read())
                crawl_all_links(browser,depth+1)
                browser.back()

crawl_all_links(browser,0)
...