2017-08-27 160 views
0

我試圖運行此代碼,但所有時間我收到錯誤HTTP Error 403: ForbiddenHTTP錯誤403:使用urllib.request時禁止

import urllib.request 

try: 
    url = urllib.request.urlopen('http://google.com/search?q=test') 
    headers = {} 
    headers['User-Agent'] ='Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36' 
    req = urllib.request.Request(url, headers=headers) 
    resp = urllib.request.urlopen(req) 
    resp_Data = resp.read() 

    savefile = open('newFile.txt', 'w') 
    savefile.write(str(resp_Data)) 
    savefile.close() 
except Exception as e: 
    print(str(e)) 

任何人都可以在這段代碼中幫助我,因爲我在這裏找不到解決方案嗎?

回答

1

改變這一行

url = urllib.request.urlopen('http://google.com/search?q=test') 

url = 'http://google.com/search?q=test' 
+1

並且對開始SAVEFILE – WombatPM

+0

@WombatPM行縮進不當,但這似乎不是錯誤。看起來這是粘貼在這裏的錯誤。但是,謝謝。 –

0

它看起來像你打開網址的兩倍。兩條建議:

  1. 爲什麼不直接使用requests模塊呢?首先,安裝:

    pip install requests 
    
  2. 使用with..as上下文管理器來處理文件I/O


import requests 

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36' }  
resp_data = requests.get('http://google.com/search?q=test', headers=headers).text 

with open('newFile.txt', 'w') as savefile: 
    savefile.write(resp_data)