2017-08-29 272 views
0

我使用python中的requests模塊嘗試搜索以下webiste http://musicpleer.audio/,但是這個網站似乎阻止了我,因爲它在我嘗試訪問它的時候只發出一個403,im想知道我怎麼能解決這個問題,我試圖發送它的用戶代理我的網絡瀏覽器(鉻),它仍然返回錯誤403.任何關於如何解決這個從網站下載歌曲的例子將是非常很有幫助。在此先感謝Python請求html 403響應

我的代碼:

import requests, os 

def funGetList: 
    start_path = 'C:/Users/Jordan/Music/' # current directory 
    list = [] 
    for path,dirs,files in os.walk(start_path): 
     for filename in files: 
      temp = (os.path.join(path,filename)) 
      tempLen = len(temp) 
      "print(tempLen)" 
      iterate = 0 
      list.append(temp[22:(len(temp))-4]) 

def funDownloadMP3: 
    for i in list: 
     print(i) 

    payload = {'searchQuery': 'meme', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36'} 
    url = 'http://musicpleer.audio/' 
    print(requests.post(url, data=payload)) 
+0

'HTTP/1.1 403 Forbidden'通常意味着您需要進行身份驗證才能使用服務。 'User-Agent'是一個頭,通常不是'data'有效載荷的一部分。你確定你需要'POST'嗎? – AChampion

回答

1

在頭把User-Agent調試它似乎工作:

In []: 
import requests 
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36'} 
url = 'http://musicpleer.audio/' 
r = requests.get('{}#!{}'.format(url, 'meme'), headers=headers) 
r.status_code 

Out[]: 
200 

注:它看起來像搜索網址很簡單'#!<search-term>'

0

HTML 403 Forbidden錯誤代碼。 服務器可能期待一些請求頭如主機或餅乾等 您可能需要使用Postman輕鬆