以下实现使您能够获取子HTML网站。为了获得您需要的其他文件,可以进行更多的开发。我坐在depth
变量为您设置您要解析的最大sub_websites。
import urllib2
from BeautifulSoup import *
from urlparse import urljoin
def crawl(pages, depth=None):
indexed_url = [] # a list for the main and sub-HTML websites in the main website
for i in range(depth):
for page in pages:
if page not in indexed_url:
indexed_url.append(page)
try:
c = urllib2.urlopen(page)
except:
print "Could not open %s" % page
continue
soup = BeautifulSoup(c.read())
links = soup('a') #finding all the sub_links
for link in links:
if 'href' in dict(link.attrs):
url = urljoin(page, link['href'])
if url.find("'") != -1:
continue
url = url.split('#')[0]
if url[0:4] == 'http':
indexed_url.append(url)
pages = indexed_url
return indexed_url
pagelist=["https://en.wikipedia.org/wiki/Python_%28programming_language%29"]
urls = crawl(pagelist, depth=2)
print urls
因此,您想要浏览HTML中的链接并下载它们指向的内容?请注意,维基百科页面包含指向其他页面的链接;你想这样做递归? – jonrsharpe
是的,我想要下载主链接中的所有链接以及他们的CSS和js文件。 –
或者只是告诉我如何只下载一个给定页面的css和js文件 –