Я пытаюсь загрузить таблицу данных с www.investing.com, которая доступна только после того, как я войду (бесплатные данные).Я пробовал множество примеров кодов, которые я нашел в Интернете, чтобы заставить это работать, но я все еще терплю неудачу.Этот код не выдает никаких ошибок, но когда я проверяю журнал, он говорит: «не авторизован».
(**** в имени пользователя должно быть @ gmail.com) ((У меня нетЯ думаю, что часть «Přihlásit se» упоминается в оригинальном коде, так что я закомментировал это сейчас))
function fetchAdminPage() {
var url = "https://www.investing.com/";
var options = {
"method": "post",
"payload": {
'username': 'rudysemail****',
'password': 'Honey20!7',
// 'send': 'Přihlásit se',
'_do': 'signIn-submit',
"testcookie": 1
},
"followRedirects": true
};
var response = UrlFetchApp.fetch(url, options);
if ( response.getResponseCode() == 200 ) {
// Incorrect user/pass combo
Logger.log("didnt log in");
} else if ( response.getResponseCode() == 302 ) {
// Logged-in
var headers = response.getAllHeaders();
if ( typeof headers['Set-Cookie'] !== 'undefined' ) {
// Make sure that we are working with an array of cookies
var cookies = typeof headers['Set-Cookie'] == 'string' ? [ headers['Set-Cookie'] ] : headers['Set-Cookie'];
for (var i = 0; i < cookies.length; i++) {
// We only need the cookie's value - it might have path, expiry time, etc here
cookies[i] = cookies[i].split( ';' )[0];
};
url = "https://www.investing.com/portfolio/?portfolioID=MzNlNjNtZDk0Zm9gN2I%3D";
options = {
"method": "get",
// Set the cookies so that we appear logged-in
"headers": {
"Cookie": cookies.join(';')
}
};
response = UrlFetchApp.fetch(url, options);
};
Logger.log(response.getContentText());
};
}
Я работал над этим часами, если кто-нибудь мог бы помочь, это было быклассно!Кроме того, при условии, что это решено, какова функция записи данных в электронную таблицу?
Спасибо