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)
卻抓取不出他的單價。(初學數據抓取)