【发布时间】:2014-05-01 05:06:27
【问题描述】:
我用 Python 编写了一个函数来获取页面上的所有链接。 然后,我为第一个函数返回的所有链接运行该函数。
我的问题是,如果我以 CNN 为起点继续执行此操作,我怎么知道我何时爬取了 CNN 的所有(或大部分)网页?
这是爬虫的代码。
base_url = "http://www.cnn.com"
title = "cnn"
my_file = open(title+".txt","w")
def crawl(site):
seed_url = site
br = Browser()
br.set_handle_robots(False)
br.set_handle_equiv(False)
br.open(seed_url)
link_bank = []
for link in br.links():
if link.url[0:4] == "http":
link_bank.append(link.url)
if link.url[0] == "/":
url = link.url
if url.find(".com") == -1:
if url.find(".org") == -1:
link_bank.append(base_url+link.url)
else:
link_bank.append(link.url)
else:
link_bank.append(link.url)
if link.url[0] == "#":
link_bank.append(base_url+link.url)
link_bank = list(set(link_bank))
for link in link_bank:
my_file.write(link+"\n")
return link_bank
my_file.close()
【问题讨论】:
标签: python web-crawler mechanize