使用python下载几个html页面的内容

使用python下载几个html页面的内容,python,Python,我是Python新手,当时正试图找出如何编写一个脚本来下载HTML页面的内容。我想做一些类似的事情: Y = 0 X = "example.com/example/" + Y While Y != 500: (code to download file), Y++ if Y == 500: break 所以(Y)是文件名,我需要一直从example.com/example/1下载文件,直到文件号500,无论文件类型如何。阅读以下内容: 此模块提供了一个用于跨万维网获取数据的高级接口 特别是,u

我是Python新手,当时正试图找出如何编写一个脚本来下载HTML页面的内容。我想做一些类似的事情:

Y = 0
X = "example.com/example/" + Y
While Y != 500:
(code to download file), Y++
if Y == 500:
break
所以(
Y
)是文件名,我需要一直从
example.com/example/1
下载文件,直到文件号
500
,无论文件类型如何。

阅读以下内容:

此模块提供了一个用于跨万维网获取数据的高级接口

特别是,
urlopen()
函数类似于内置函数
open()
,但接受通用资源定位器(URL)而不是文件名

一些限制适用-它只能打开URL进行读取,并且没有搜索操作可用

所以你有这样的代码:

import urllib
content = urllib.urlopen("http://www.google.com").read()
#urllib.request.urlopen(...).read() in python 3

以下代码应该满足您的需要。它将下载500个web内容并保存到磁盘

import urllib2

def grab_html(url):
    response = urllib2.urlopen(url)
    mimetype = response.info().getheader('Content-Type')
    return response.read(), mimetype

for i in range(500):
    filename = str(i)  # Use digit as filename
    url = "http://example.com/example/{0}".format(filename)
    contents, _ = grab_html(url)
    with open(filename, "w") as fp:
        fp.write(contents)
注:

  • 如果您需要并行抓取,这里有一个很好的例子

到目前为止,您的代码中只有很少一部分是有效的Python—例如,缩进很重要,Python没有
++
增量,您不能连接字符串和整数。你需要弄清楚你想做什么-下载文件,刮HTML,或其他什么?我想从一个网站上下载几个文件。它们是我老板发给我的视频/音频/图片/Word文件的混合体。我在学习编程,我问自己:为什么不写一个代码来下载所有的文件,一箭双雕呢。我使用的是Python3.4Perhaps,您应该以较小的步骤来实现这一点:1。给定URL,如何下载一个文件。2.如何创建一系列URL。3.如何迭代2。然后把它们传给1。谢谢你的提示。我希望他们会让我忙个不停,并认为brofistThis将不起作用-
TypeError
尝试连接
I
,这是一个整数,带有各种字符串。难道
url='http://example.com/example/"+i
仍在连接字符串和整数?@jornsharpe ty:D不知道如何像您那样缩进文档。没问题-是引号(
)而不是编辑视图中的大括号(
{}
)按钮。@LuisMasuelli您可以浏览社区帮助以查看更多格式语法。真的很有趣。