2017-02-17 14 views
0

Я пытаюсь написать пост запрос на this site используя postForm функцию RCurl в R.RCurl postForm Выпуск

Использование инструментов разработчика в Chrome, я определил, что атрибут я хочу, чтобы манипулировать имеет имя MBR['GEOGRAPHY'].

Однако, когда я вхожу, что в моих postForm просьбе как таковые:

postForm(url, MBR['GEOGRAPHY'] = 1, style = "post") 

Я получаю следующее сообщение об ошибке:

Error: unexpected '=' in "postForm(url, MBR['GEOGRAPHY'] =" 

Я успешно использовал эту функцию с другими формами, которые имеют имена, которые делают не имеет [''], поэтому я предполагаю, что это проблема, но я не уверен, как ее обойти.

+0

Ваша ссылка дает: «неверный идентификатор таблицы cansim». – Benjamin

+0

Извините, вот таблица, которую я пытаюсь манипулировать функцией postForm. http://www5.statcan.gc.ca/cansim/a26?lang=eng&retrLang=eng&id=2820001&&pattern=&stByVal=1&p1=1&p2=31&tabMode=dataTable&csid= – SteveM

ответ

0

Проблемы с квадратными скобками (обычно используются для индексации). Получаю какой-либо текст, возвращенный:

postForm(url, "MBR['GEOGRAPHY']"=1, style = "post") 

, является ли это правильным запросом или нет; трудно сказать, поскольку на страницах написано: «Недопустимый идентификатор таблицы cansim».

EDIT:

Если начать с более основного URL:

http://www5.statcan.gc.ca/cansim/a26?id=2820001 

Вы можете успешно применять параметры, такие как lang:

postForm(url, lang = "fra", style = "post") 

, который возвращает страницу на французском языке. Оказывается, я могу изменить географию вручную, добавив ее к URL-адресу: &MBR%5B%27GEOGRAPHY%27%5D=2, но я не могу передать это через RCurl. Однако вы можете создать URL-адрес вручную, а затем передать его, который работает:

postForm(paste(url, "&MBR%5B%27GEOGRAPHY%27%5D=2", sep=""), style = "post") 
+0

Спасибо, Бенджамин. – SteveM

+0

Я попробую это сегодня вечером, но имеет смысл. Что делать, если я хотел бы выбрать несколько географических регионов, так как есть технически 11 значений, связанных с «& MBR% 5B% 27GEOGRAPHY% 27% 5D». Любая идея, как я буду манипулировать URL-адресом в такой ситуации? – SteveM

+0

Не уверен. Если у вас больше вопросов о форматах кодирования, я бы предложил опубликовать новый более конкретный вопрос. – Benjamin