У меня есть data.frame с двумя переменными, одна из которых содержит только URL-адреса. Я хотел бы использовать эти URL-адреса для очистки всех из них и извлечения соответствующей текстовой информации из каждого из них и, тем самым, добавления переменных в фрейм данных, чтобы там был готов текстовый анализ.
FAO_CountryName FAO_CountryURL
Algeria https://www.fao.org/giews/countrybrief/country.jsp?code=DZA
Egypt https://www.fao.org/giews/countrybrief/country.jsp?code=EGY
Другими словами, я хотел бы найти способ рассматривать эти URL-адреса как правильные html-страницы таким образом, чтобы я мог очищать их с помощью команды read_html ().
Идея заключалась бы в том, чтобы в конце процесса было что-то вроде этого:
FAO_CountryName FAO_CountryURL FAOText
Algeria https://www.fao.org/giews/countrybrief/country.jsp?code=DZA Algeria is an interesting country
Egypt https://www.fao.org/giews/countrybrief/country.jsp?code=EGY Egypt is interesting as well but in a different way
Сначала мы определяем функцию для сбора нужной информации с определенного URL:
Это всего лишь пример, мы действительно можем собрать любой элемент, который нам нужен на этой странице. Пожалуйста, прочтите больше о пакете
rvest
, чтобы расширить возможности здесь.Затем мы хотим применить эту функцию к каждой строке и
cbind
результат к исходномуdataframe
:Обратите внимание, что, возможно, есть более эффективные способы сделать это.
Надеюсь это поможет
Пожалуйста, подумайте о том, чтобы принять и проголосовать за ответ, если вы думаете, что это может помочь другим людям. — person Ileeo; 15.02.2017
Я новичок в стеке, поэтому, по-видимому, у меня еще недостаточно репутации. Я сделаю это, как только ›я получу еще. — person Ileeo; 15.02.2017
Привет, большое спасибо за помощь. Хорошо для сценария, с помощью которого можно рассматривать различные URL-адреса. В любом случае, я не понимаю, как формула должна применяться к каждой строке, и — в любом случае — она не работает с моим фреймом данных FAO_data. Не могли бы вы уточнить? Спасибо еще раз. — person Ileeo; 15.02.2017
Произошла опечатка, извините, попробуйте сейчас. Если вы хотите понять, что происходит, попробуйте запустить только
apply(mydf,1, scrapeFAO)
и прочтите о семействе функцийapply
. — person Ileeo; 15.02.2017Это дает мне ошибку `Errore: ‘Algeria fao.org/giews/ countrybrief / country.jsp? code = DZA ‘не существует в текущем рабочем каталоге (‘ /home/…/ ‘). Вызывается из: check_path (путь) Обзор [1] ›` — person Ileeo; 15.02.2017
извините, моя проблема, что-то пошло не так копипастинг, я отредактировал ответ, теперь должно работать — person Ileeo; 15.02.2017
Все еще не работает. Я получаю следующее сообщение об ошибке: ›scrapeFAO (fao.org/giews /countrybrief/country.jsp?code=DZA) Ошибка в x $ FAO_CountryURL: оператор $ недопустим для атомарных векторов — person Ileeo; 15.02.2017
мои извинения, я последний раз редактировал «вслепую», теперь я могу протестировать его отредактированный. это работает на моей стороне — person Ileeo; 15.02.2017
По-прежнему не работает, извините. Это сообщение, которое я получаю после «последней» части: Ошибка при завершении: ‘Algeria fao.org/giews/countrybrief/country.jsp?code=DZA» не существует в текущем рабочем каталоге (‘/ home / …’). — person Ileeo; 15.02.2017