如何保存“完整网页”不仅仅是使用Python的基本HTML

如何保存“完整网页”不仅仅是使用Python的基本HTML,第1张

概述我使用以下代码使用 Python保存网页: import urllibimport sysfrom bs4 import BeautifulSoupurl = 'http://www.vodafone.de/privat/tarife/red-smartphone-tarife.html'f = urllib.urlretrieve(url,'test.html') 问题:这个代码将ht


我使用以下代码使用 Python保存网页
import urllibimport sysfrom bs4 import BeautifulSoupurl = 'http://www.vodafone.de/privat/tarife/red-smartphone-tarife.HTML'f = urllib.urlretrIEve(url,'test.HTML')

问题:这个代码将HTML作为基本的HTML没有JavaScript,图像等.我想保存网页完整(就像我们在浏览器中有选项)

更新:
我现在使用以下代码来保存webapge的所有Js / images / CSS文件,以便它可以保存为完整的网页,但是我的输出HTML仍然像基本的HTML一样被保存:

import pycurlimport StringIOc = pycurl.Curl()c.setopt(pycurl.URL,"http://www.vodafone.de/privat/tarife/red-smartphone-tarife.HTML")b = StringIO.StringIO()c.setopt(pycurl.WRITEFUNCTION,b.write)c.setopt(pycurl.FolLOWLOCATION,1)c.setopt(pycurl.MAXREDirs,5)c.perform()HTML = b.getvalue()#print HTMLfh = open("file.HTML","w")fh.write(HTML)fh.close()
解决方法 尝试用 selenium模拟浏览器.此脚本将d出网页的另存为对话框.您仍然必须弄清楚如何模拟按Enter键进行下载以开始,因为文件对话框不在硒的范围内(您的 *** 作依赖于 *** 作系统).
from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsfrom selenium.webdriver.common.keys import Keysbr = webdriver.firefox()br.get('http://www.Google.com/')save_me = ActionChains(br).key_down(Keys.CONTRol)\         .key_down('s').key_up(Keys.CONTRol).key_up('s')save_me.perform()

另外我认为以下@Amber建议抓住链接的资源可能会更简单,从而更好的解决方案.不过,我觉得使用硒是一个很好的起点,因为br.page_source会让你整个dom以及JavaScript生成的动态内容.

总结

以上是内存溢出为你收集整理的如何保存“完整网页”不仅仅是使用Python的基本HTML全部内容,希望文章能够帮你解决如何保存“完整网页”不仅仅是使用Python的基本HTML所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1101647.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存