我有一个脚本运行Scrapy和Splash,它从一个站点提取各种数据,但我现在试图找到一种制作每个页面的离线副本的方法。Python下载一个完整的网页(包括CSS)
我试图与Scrapy如下:
def parse(self, response):
filename = response.url.split("/")[-1] + '.html'
with open(filename, 'wb') as f:
f.write(response.body)
这与urllib的:
def parse(self, response):
url = response.url
file_name = 'aaa.html'
with urllib.request.urlopen(url) as response, open(file_name, 'wb') as out_file:
shutil.copyfileobj(response, out_file)
这两者的做工精细,但只下载HTML到文件。我需要整个页面(包含CSS) - 那么有什么方法可以做到这一点,类似于使用谷歌浏览器手动保存网站时,将复制保存为“网页,完整”?我怀疑像Selenium这样的东西可能,但猜测它对我的应用程序来说太慢了(这需要100个,有时候是1000个URL)。谢谢。