首页 > 解决方案 > xmlTreeParse 和 html 内容

问题描述

我无法使用 R 函数 xmlTreeParse 获取(网络抓取)html 树内容 - 我的意思是产品的公共页面。

我得到库 Rcurl 和 XML。

myurln3<-"www.amazon.com/s?k=router+hand+plane+cheap&i=arts-crafts-intl-ship&ref=nb_sb_noss"
html_page<-xmlTreeParse(myurln3, useInternalNodes = TRUE)

错误:XML 内容似乎不是 XML:'www.amazon.com/s?k=router+hand+plane+cheap&i=arts-crafts-intl-ship&ref=nb_sb_noss'

我希望抓取页面并获得完整的 html 结构。

标签: rweb-scraping

解决方案


我在其他一些项目之后回到了使用 R 进行网络抓取,但仍然存在问题。

> library(XML)

Warning message:
XML package is in R 3.5.3 version 

> my_url99 <- "https://www.amazon.com/s?k=Dell+laptop+windows+10&ref=nb_sb_noss_2"
> html_page99 <- htmlTreeParse(my_url99, useInternalNode=TRUE)

Warning message:
XML content does not seem to be XML: 'https://www.amazon.com/s?k=Dell+laptop+windows+10&ref=nb_sb_noss_2' 

> head(html_page99)

Error in `[.XMLInternalDocument`(x, seq_len(n)) : 
  No method for subsetting an XMLInternalDocument with integer

> html_page99

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>https://www.amazon.com/s?k=Dell+laptop+windows+10&amp;ref=nb_sb_noss_2</p></body></html>

但是我需要用完整的内容刮掉页面上方=我的意思是左侧带有 $ 符号的内容(也许这不是最好的直接描述)和所有标签。


推荐阅读