簡體   English   中英

從特定網站下載所有可用的 CSV 和 KML 文件

[英]Downloading all available CSV & KML files from the specific website

我正在嘗試使用 python 來自動化從 data.gov.sg 下載所有可用 CSV 和 KML 文件的過程。 但是,我們收到了“HTTP 錯誤 403:禁止”錯誤消息。 我們曾經遇到過robots.txt 錯誤,該錯誤已解決。 我們下面的編碼有什么問題嗎?

import mechanize
from time import sleep
br = mechanize.Browser()

br.open('https://data.gov.sg/')

f=open("source.html","w")
f.write(br.response().read()) 
f.close()

filetypes=[".csv",".kml"] 
myfiles=[]
for l in br.links(): 
    for t in filetypes:
        if t in str(l): 
            myfiles.append(l)


def downloadlink(l):
    f=open(l.text,"w") 
    br.click_link(l)
    f.write(br.response().read())
    f.close()
    print l.text," has been downloaded"
#br.back()

for l in myfiles:
    sleep(1) 
    downloadlink(l)

HTTP 403 錯誤http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.4表示您已被禁止訪問,要么您需要授權訪問此權限,要么服務器管理員已阻止您訪問它並發送 403 響應作為通知。

因此,我可以看到您的代碼沒有任何問題(盡管您似乎丟失了縮進),這會導致此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM