尝试调试一个web scraper时,我遇到了一个使用Hadley的编码问题。
rvest
包裹。
作为一个可重复的例子,考虑以下两个链接:
library(rvest)
read_html("http://clasificadosonline.com/UDRealEstateDetail.asp?ID=4234361")
read_html("http://clasificadosonline.com/UDRealEstateDetail.asp?ID=4252734")
第一个链接:
{xml_document}
<html>
[1] <head>\n<script type="text/javascript">\r\n\r\n\t\r\nif (screen.width <= 480) {\r\n\tdocument.location = "http://www.clasificado ...
[2] <body>\n<br><link href="StylesClas.css" rel="stylesheet" type="text/css">\n<!-- Google Tag Manager --><noscript><iframe src="//w ...
第二个链接:
> read_html("http://clasificadosonline.com/UDRealEstateDetail.asp?ID=4252734")
Error in doc_parse_raw(x, encoding = encoding, base_url = base_url, as_html = as_html, :
Input is not proper UTF-8, indicate encoding !
Bytes: 0xDA 0x4C 0x54 0x49 [9]
检查HTML
两者都有
第页,我看到以下内容:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
为什么一个有效,另一个无效?
我试过包装
x
在里面
read_html()
具有
iconv()
如以下相关问题所示,它不起作用:
-
R: rvest - is not proper UTF-8, indicate encoding?
-
encoding error with read_html
编辑:
我使用以下软件包:
-
rvest_0.3.2
-
xml2_1.2.0
-
httr_1.3.1
有什么想法吗??谢谢!你看!