Python Can';t使用请求登录

Python Can';t使用请求登录,python,http,python-requests,request,python-requests-html,Python,Http,Python Requests,Request,Python Requests Html,如何使用请求库访问网站,我看了很多教程,但它们在inspector的“网络”选项卡中似乎有302个POST请求。当我登录时,我在我的选项卡中看到很多GET请求。我的一个朋友说,饼干,但我真的是一个初学者,我不知道如何登录 另外,我想知道我可以使用这个图书馆的范围,或者我可以从哪里开始学习这个图书馆的任何有用的信息来源 import requests r = requests.get("https://example.com") 我想发布请求,同一位朋友告诉我,我需要访问

如何使用请求库访问网站,我看了很多教程,但它们在inspector的“网络”选项卡中似乎有302个POST请求。当我登录时,我在我的选项卡中看到很多GET请求。我的一个朋友说,饼干,但我真的是一个初学者,我不知道如何登录

另外,我想知道我可以使用这个图书馆的范围,或者我可以从哪里开始学习这个图书馆的任何有用的信息来源


import requests

r = requests.get("https://example.com")

我想发布请求,同一位朋友告诉我,我需要访问该网站的API才能继续。这是真的吗?

根据您尝试登录的网站,可能需要通过chrome浏览器(
selenium
)登录然后从中提取并保存cookies,以便在请求模块中进一步注入和使用

要从selenium中提取cookie并将其保存到json文件,请使用:

cookies = driver.get_cookies()
with open('file_you_want_to_save_the_cookies_to.json', 'w') as f:
  json.dump(cookies, f)
要在请求模块中使用这些cookie,请使用:

cookies = {
  'cookie_name' : 'cookie_value'
}
with requests.Session() as s:
  r = s.get(url, headers=headers, cookies=cookies)

如果你提到你想在哪个网站上做这件事,我可以提供进一步的帮助。最好的做法是创建一个可以使用你的库的小项目。对于lib请求,它可以访问internet上的一些免费API。例如,我不久前制作了一个使用免费API的:

##########################################
#                                        #
#              INSULT API                #
#                                        #
##########################################

def insult_api(name):
    params={
        ("who", name)
        }
    response = requests.get(
        f"https://insult.mattbas.org/api/en/insult.json",
        params=params)
    return response.json()

有用的资料来源(显然是官方文件)基本上是任何youtube视频或发布在这里。只要寻找你想做的事情。
无论如何,如果您希望在没有API访问的情况下登录网站,您可以使用libraby。

如果使用得当,并且在请求中发送必要的信息,请求模块将非常强大。首先,通过Chrome开发工具中的网络选项卡等工具分析网络数据包。然后尝试通过python中的请求复制请求

通常,您需要发送标题和数据

headers = {
    <your headers here>
}

data = <data here> 

req = requests.post("https://www.examplesite.com/api/login", data=data, headers=headers)
标题={
}
数据=
req=请求。post(“https://www.examplesite.com/api/login,数据=数据,标题=标题)
所有东西都应该很容易在网络数据包中找到,除非它具有某种安全性,如csrf令牌等,这些令牌需要与登录请求一起发送。为了做到这一点,您需要发送GET req以获取信息,然后发送带有该信息的POST req


如果你能提供你想要使用的网站,那也会很有帮助。祝你好运

我是否可以使用selenium登录,然后在登录后使用request?这取决于您要查找的内容。但是我想说的是,selenium的功能很可能与您想要使用的功能相同。在我登录后,自动化变得非常困难,效率也降低了。这可能会有所帮助。在了解请求之前,我使用了selenium,但是自动化对我来说变得更难处理,所以我尝试使用请求。该网站属于我的公司,我不拥有itI。我只是建议使用selenium登录并生成一个有效会话,然后可以提取该会话并与请求一起使用。一些网站,例如Instagram,没有任何可以从浏览器查看的登录post请求,因此在这种情况下,您可以使用selenium,然后使用selenium的会话与请求进一步与网页交互。我有cookie,您希望我将它们粘贴在这里吗?在您有cookie后,使用我上面发送的内容。selenium生成的会话将是有效的,因此使用它们发送的任何请求都将被视为用户已登录。如果你想在登录后与网站沟通,这一点非常有用。如果你想问Discord is RC#4958,我是否需要发送我的浏览器在手动完成时发出的所有请求?还是我需要发送一些特定的请求?