从经过身份验证的网页中抓取

时间:2019-05-15 21:52:45

标签: jquery http authentication web-scraping http-status-code-400

我正在尝试围绕(例如)Nest应用创建包装应用。基本上,我想从经过身份验证的页面上抓取内容。到目前为止,两种方法对我没有用:

  1. 通过JQuery操作登录页面(然后查看结果页面)
  2. 通过遵循http请求跟踪并使用相同的参数进行相同的请求

问题:

方法1:页面不变。

这是我的代码:

$("div form input[name=email]").value = "my_email@gmail.com";
$('div form input[name=password]').value = "my_password";

$("div form").submit();

方法2:400错误的请求错误

我认为这是由于他们采用了一种安全措施来检查查询的主机名。

这是我的代码(python):

params1 = {'email': "my_email@gmail.com", 'password': "my_password"};
url1 = "https://home.nest.com/session"
r = requests.post(url=url1, params=params1).json() # Response: 400 Bad request
print(r)
url2_ok = "https://home.nest.com/js/_vendors_/lib/phoenix-sdk/sdk-d4875ffcb3865568f87f.js "
params3 = r["user"][-8] #gets user id
url3 = "https://home.nest.com/api/0.1/user/"+ params3 + "/app_launch"
r2 = requests.get(url=url3, params=params3).json()
print(r2)

0 个答案:

没有答案