eve*_*007 6 screen-scraping login-control http-response-codes web-scraping google-apps-script
我想登录一个网站并导航到特定页面以抓取数据。我计划使用抓取(目前不是 API),出于学习目的,我计划在我的 stackoverflow 帐户上进行此操作,以提取我的声誉分数随时间的变化情况以及在哪个主题上的变化。
而且,我使用谷歌应用程序脚本作为编程语言,也是出于学习目的。
我使用下面给出的代码进行登录:
function stackLogin() {
var url = "https://stackoverflow.com/users/login?ssrc=head";
//var url = "https://stackoverflow.com/";
var payload = {
"email":"myLogin",
"password":"myPassword"
};
var opt = {
"payload":payload,
"method":"post",
"followRedirects": false
};
var response = UrlFetchApp.fetch(url, opt);
var sessionDetails = response.getAllHeaders()['Set-Cookie'];
var header = {
'Cookie': sessionDetails[1]
};
Logger.log(response.getResponseCode());
Logger.log(response);
}
Run Code Online (Sandbox Code Playgroud)
当我使用时:
url = "https://stackoverflow.com/users/login?ssrc=head"
Run Code Online (Sandbox Code Playgroud)
我得到“响应代码 = 302”,但“响应 html”非常短。我还看到StackExchange OpenID上出现了新的登录 ip
。
但是,如果我使用:
url = "https://stackoverflow.com"
Run Code Online (Sandbox Code Playgroud)
我得到“响应代码 = 200”,并且“响应 html”非常长。我还看到StackExchange OpenID上没有出现新的登录 IP 。
问题 1)那么,只能通过url = " https://stackoverflow.com/users/login?ssrc=head "
才能登录,仪式?
问题 2)
如果我能够登录,我想点击“我的个人资料头像按钮”
这将我带到“用户个人资料/摘要”页面,我想在其中单击“声誉”

这将我带到“声誉日志页面”,其中我按日期和主题总结了我收到的所有声誉。

现在,我想将这些声誉值提取为表。
如果我可以提取 HTML 页面,我可以通过检查这些信誉日志的类值来抓取数据。
我遇到的主要问题是:如何单击不同的按钮(成功登录后)才能进入“声誉日志”页面。
| 归档时间: |
|
| 查看次数: |
4088 次 |
| 最近记录: |