我是Python新手,想弄清楚如何編寫一個腳本來下載HTML頁面的內容。我想在做類似的:使用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
,無論文件類型。
我是Python新手,想弄清楚如何編寫一個腳本來下載HTML頁面的內容。我想在做類似的:使用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
@jonrsharpe ty:D不知道如何縮放文檔,就像你一樣。 – 2014-09-24 15:02:42
沒問題 - 它是引號('「'),而不是編輯視圖中的大括號('{}')按鈕。 – jonrsharpe 2014-09-24 15:04:24
@LuisMasuelli你可以探索社區幫助看到更多的格式化語法。十分有趣。 – stanleyxu2005 2014-09-24 15:05:18
下面的代碼應滿足您的需要。它將下載500個網頁內容並將其保存到磁盤。
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)
注:
這將不起作用 - 試圖用各種字符串連接「i」(這是一個整數)時'TypeError'。 – jonrsharpe 2014-09-24 14:58:21
不會'url =「http://example.com/example/」+ i'仍然串聯一個字符串和整數? – 2014-09-24 15:00:25
很少的代碼到目前爲止是有效的Python - 縮進是非常重要的,Python中沒有按」例如,你有'++'增量,你不能連接字符串和整數。你需要澄清你想要做什麼 - 下載文件,抓取HTML或其他東西? – jonrsharpe 2014-09-24 14:38:25
我試圖從網站下載幾個文件。他們是由我的老闆發送給我的視頻/音頻/圖片/ Word文件的混合體。我正在學習編程,我問自己:爲什麼不寫一個代碼來下載所有的文件,並且一箭雙飛。我正在使用python 3.4 – q8mind 2014-09-24 14:49:05
也許你應該採取更小的步驟:1.如何在給定URL的情況下下載一個文件。 2.您如何創建一系列網址。 3.你如何迭代2並將它們傳遞給1. – jonrsharpe 2014-09-24 14:50:49