R语言XML包的数据抓取

时间:2021-09-21 22:28:21

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)

却抓取不出他的单价。(初学数据抓取)