나는 파이썬을 사용하여 웹 사이트 다운로더을 생성하려고합니다.웹 사이트 내려 받기 파이썬을 사용하여
다운로드 페이지
에서
은 내가해야 할 것은 재귀 적으로 페이지를 다운로드하는 것입니다 주어진 URL을 모든 URL 찾기 : 나는에 대한 코드를 해당 페이지에 다른 링크가있는 경우 다운로드해야합니다. 위의 두 함수를 결합하려고했지만 재귀가 작동하지 않습니다.
1)
다운로드 (URL) 함수는 다음과 같이 정의된다*from sgmllib import SGMLParser
class URLLister(SGMLParser):
def reset(self):
SGMLParser.reset(self)
self.urls = []
def start_a(self, attrs):
href = [v for k, v in attrs if k=='href']
if href:
self.urls.extend(href)
if __name__ == "__main__":
import urllib
wanted_url=raw_input("Enter the URL: ")
usock = urllib.urlopen(wanted_url)
parser = URLLister()
parser.feed(usock.read())
parser.close()
usock.close()
for url in parser.urls: download(url)*
2) 다음과 같습니다 :
*def download(url):
import urllib
webFile = urllib.urlopen(url)
localFile = open(url.split('/')[-1], 'w')
localFile.write(webFile.read())
webFile.close()
localFile.close()
a=raw_input("Enter the URL")
download(a)
print "Done"*
을 친절하게 결합하는 방법에 대한 좀 도와
코드
아래에서 언급 이 2 개의 부호는 " 반복적으로"에 "인 다우 인 웹 페이지에 새로운 연결을 다운로드한다 nloaded.
정말로 'wget'을 사용하여 직접 작성하고 싶습니까? – NPE