Python请求html403响应

2024-10-01 09:22:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用python中的requests模块尝试在下面的webiste上搜索http://musicpleer.audio/,但是这个网站似乎阻止了我,因为当我试图访问它时,它只发出了一个403,我想知道如何才能绕过这个问题,我试着向它发送我的web浏览器(chrome)的用户代理,它仍然返回错误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))

Tags: pathinhttpforos网站deffiles
2条回答

HTML 403禁止的错误代码。 服务器可能需要更多的请求头,如主机或Cookies等。 您可能希望使用Postman轻松地调试它

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

注意:搜索url看起来很简单'#!<search-term>'

相关问题 更多 >