【发布时间】:2013-01-09 02:36:57
【问题描述】:
我正在使用以下代码使用 Python 保存网页:
import urllib
import sys
from bs4 import BeautifulSoup
url = '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 pycurl
import StringIO
c = 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 html
fh = open("file.html", "w")
fh.write(html)
fh.close()
【问题讨论】:
-
然后你必须编写代码来解析 HTML,获取所有链接的资源,然后像浏览器一样单独下载它们。
-
用美汤可以吗?
-
试试Scrapy,一个开源的可移植Python网页抓取框架
-
如何使用它?我对编程很陌生,我对美丽的汤有一些经验。
标签: python html python-2.7 urllib2 urllib