Ошибка в open.connection (x, "rb"): ошибка HTTP 404 с функцией read_ html - PullRequest
0 голосов
/ 14 января 2020

Я получил следующую ошибку при использовании функции read_html из пакета xml2:

Error in open.connection(x, "rb") : HTTP error 404.

Вот URL-адрес, который я пытался прочитать:

xml2::read_html("https://www.act.is/media-centre/press-releases/actis-energy-platform-zuma-energía-reaches-financial-close-on-two-further-solar-farms-in-mexico/")

В отличие от этого, при чтении этого URL не возникло ошибок

xml2::read_html("https://www.act.is/media-centre/press-releases/actis-wins-cio-magazine-s-real-asset-award/")

Первый URL содержит слово с акцентом "energía", второй - нет. Можно ли читать URL-адреса, содержащие слова со знаками ударения?

1 Ответ

0 голосов
/ 14 января 2020

В URL есть специальные символы, и вы должны их избежать. В Python для этого есть HTTP-библиотеки, для R вы можете найти здесь

Python expamle:

base_url = "https://www.act.is/media-centre/press-releases/"
encoded_url = requests.utils.quote("actis-energy-platform-zuma-energía-reaches-financial-close-on-two-further-solar-farms-in-mexico/")
response = requests.get(base_url + encoded_url)

Кодированный URL:

https://www.act.is/media-centre/press-releases/actis-energy-platform-zuma-energ%C3%ADa-reaches-financial-close-on-two-further-solar-farms-in-mexico/

...