如何使用python中的请求模块登录站点?

如何使用python中的请求模块登录站点?,python,html,web-scraping,python-requests,Python,Html,Web Scraping,Python Requests,我想使用python中的请求模块登录到下面的站点 但是我在请求的响应中找不到“login_id”和“password”字段 我可以在Chrome中使用“Inspect”菜单找到它们 <input type="text" name="login_id" id="login_id" placeholder="メールアドレス" value=""> 我该怎么办? Selenium是一个简单

我想使用python中的请求模块登录到下面的站点

但是我在请求的响应中找不到“login_id”和“password”字段

我可以在Chrome中使用“Inspect”菜单找到它们

<input type="text" name="login_id" id="login_id" placeholder="メールアドレス" value="">
我该怎么办?

Selenium是一个简单的解决方案,但我不想使用它。

登录表单是用javascript创建的。请尝试在禁用javascript的浏览器中查看页面,因为没有表单。控制该网站的人正试图阻止人们做你想做的事情。除了表单元素没有出现(这实际上与请求无关)之外,它们还使用了一个特殊的标记,您无法猜到我所期望的也是模糊javascript中的标记。因此,编写带有请求的登录脚本可能是不切实际的,除非您获得本公司的特别许可,否则极不建议您继续执行您试图执行的操作。

最好使用tab
Network
而不是
Inspect
,并在您按下按钮
login
时查看浏览器向服务器发送的内容。然后您必须对
请求执行相同的操作。如果服务器使用
POST
,那么您还必须使用
requests.POST()
。如果它发送一些数据,那么您必须在
post(…,payload=…)
中发送相同的数据。但若页面使用JavaScript生成一些值,那个么这可能是个问题,因为
请求
/
美化组
无法运行JavaScript。然后更好地使用它,让你们控制真正的网络浏览器,它可以运行JavaScript。我在“网络”选项卡中找不到帖子行。正如您和David提到的,该页面使用JavaScript。谢谢你@furas!
<input type="password" name="password" id="password" placeholder="パスワード" value="">
import requests  
url = 'https://accounts.dmm.com/service/login/password'
session = requests.session()
response = session.get(url)
with open('test_saved_login.html','w',encoding="utf-8")as file:
  file.write(response.text) # Neither "login_id" nor "password" field found in the file.