如何使用Python和Mechanize爬取网站

2 投票
1 回答
1933 浏览
提问于 2025-04-17 05:37

我该如何用Python的Mechanize库来爬取一个网站,递归地跟踪每个页面上的每个链接呢?

我在教程和Mechanize的文档中看到的每个例子,都只是展示了如何按照一个浏览的“路径”去操作,比如说先去主页,填写一个表单,点击提交,然后处理响应,而不是如何抓取整个网站。

1 个回答

2

这里有一些伪代码可以帮助你入门,如果你需要更多的帮助,请告诉我:

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)

撰写回答