我如何使用Mechanize with Python来抓取网站,递归地跟踪每个页面上的每个链接?
我在教程和Mechanize文档中看到的每个示例都显示了如果我可以调用它,如何遵循浏览“路径”(例如,转到主页,填写表单,按提交,对响应执行某些操作),而不是刮整个网站。
答案 0 :(得分: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)