以下實現使您能夠獲取子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文件 –