Я хотел бы загружать данные, относящиеся к ключевым словам, прямо в/из R. Я понимаю, что RCurl, скорее всего, будет подходящим способом, но я не уверен, как выполнить эту задачу. Может быть, кто-нибудь здесь сможет направить меня на правильный путь?
PS. Я могу немного отредактировать этот вопрос по мере поступления ответов, потому что у меня есть некоторые идеи о том, как я могу загрузить данные Adwords с помощью R; однако идеи неясны, и любые ответы, вероятно, сделают их более ясными.
Большое спасибо.
EDIT: моя попытка
Вот что я пробовал до сих пор.
1. примените getURL
к URL-адресу входа, чтобы определить ids
полей электронной почты и пароля.
require(RCurl)
loginURL<- "https://accounts.google.com/ServiceLogin?service=adwords"
ch<- getCurlHandle()
curlSetOpt(curl=ch,ssl.verifypeer=FALSE,cainfo=system.file("CurlSSL", "cacert.pem", package = "RCurl"),cookiejar="./cookies.txt",cookiefile="./cookies.txt",verbose=TRUE,header=TRUE,followlocation=TRUE,autoreferer=TRUE)
try1<- getURL(loginURL,curl=ch)
2. Я определил ids
важных полей (адрес электронной почты и пароль)
<div class="email-div">
<label for="Email"><strong class="email-label">Email</strong></label>
<input type="email" spellcheck="false"
name="Email" id="Email" value=""
>
</div>
<div class="passwd-div">
<label for="Passwd"><strong class="passwd-label">Password</strong></label>
<input type="password" name="Passwd" id="Passwd"
3. Затем я использовал указанные выше поля, чтобы применить функцию postForm
к loginURL
для входа в Google Adwords.
params<- list(
"Email"="myemail",
"Passwd"="mypassword",
"GALX"="3b6rR7Jvk30")
loggedIn<- postForm(loginURL,.params=params,curl=ch)
Однако я понятия не имею, как убедиться, что я успешно вошел в систему.
Кроме того, URL-адрес инструмента планировщика Kyeword в пользовательском интерфейсе Google Adwords:
https://adwords.google.com/ko/KeywordPlanner/Home?__c=XXXXXXXXXX&__u=XXXXXXXXXX&__o=cues
где c= отражает customer id
, а u= отражает user id
. Учитывая это, я подумал о том, чтобы войти в систему с помощью моего браузера, вставить URL-адрес, показанный выше, в R, а затем попытаться узнать идентификаторы полей, которые мне будут важны, например, идентификатор для keywords text box
в инструменте Планировщика ключевых слов, в который я мог бы отправить ключевые слова из R.
Но когда я пытаюсь применить getURL
на вышеупомянутом веб-сайте, я не получаю требуемых/ожидаемых xml tags
или key value pairs
. Вместо:
<html><head><noscript><meta http-equiv="refresh" content="0; URL=https://adwords.google.com/select/interstitial_short_js.html"></noscript></head><body><script type="text/javascript" language="javascript">var jsRedirect = true;var url = "/um/StartNewLogin?dst=/ko/KeywordPlanner/Home?__c%3D7857647860%26__u%3D4575929980%26__o%3Dcues";
if (self.document.location.hash) {url = url + ((url.indexOf('?') == -1)? '?' : '&') + "frag=" + self.document.location.hash.substring(1); }
window.location.assign(url);
</script> </body> </html>
Это наводит меня на мысль, что здесь я, вероятно, имею дело с Javascript
или AJAX
. Итак, как извлечь данные из Javascript
или AJAX
с помощью RCurl
, и правильно ли задавать этот вопрос?
Спасибо и извинения за длинное редактирование.
RCurl
. Я поищу еще соавторов, и как только решение будет найдено, я сообщу здесь, и, возможно, даже сделаю его пакетом. - person info_seekeR   schedule 06.07.2014