2017-08-29 131 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轻松