htmlParse 函数
htmlParse加抓HTML页面的函数。
url1<-"http://www.caixin.com/"
url<-htmlParse(url1,encoding="UTF-8")
但是有的网站会出现报错。例如淘宝,错误信息为:
Warning message:
XML content does not seem to be XML: 'https://www.taobao.com/'
原因为htmlParse可以抓取http的页面,不能抓取https的页面
getNodeSet函数
getNodeSet获取适当信息节点的信息
//表示任意个HMTL嵌套标签 *表示任意的HTML标签 /表示下一级标签
xpath<-"//meta[@name]"
test<-getNodeSet(url,xpath)
xmlValue函数
xmlValue函数用于读取信息节点的内容
xmlValue(test[[1]])
结果为无
xmlGetAttr函数
xmlGetAttr函数用于读取信息节点的属性
xmlGetAttr(test[[1]],'name')
结果为"keywords"
问题遗留:1)xml包不能加载https。2)有些抓取不出来,例如span后的数据。
例如
url1<-"http://www.amazon.cn/gp/product/B00C93NHHY/ref=s9_simh_gw_p421_d0_i1?pf_rd_m=A1AJ19PSB66TGU&pf_rd_s=center-3&pf_rd_r=10TJ5625EJ46C17SN3ZN&pf_rd_t=101&pf_rd_p=58223152&pf_rd_i=899254051"
url<-htmlParse(url1,encoding="UTF-8")
xpath<-"//span[@id='priceblock_ourprice']"
test<-getNodeSet(url,xpath)
却抓取不出他的单价。(初学数据抓取)