【发布时间】:2017-07-18 09:15:33
【问题描述】:
我想用R爬取XXX中所有与AlphaGo相关的新闻(title,url,text),页面url为http://www.xxxxxx.com/search/?q=AlphaGo。这是我的代码:
url <- "http://www.xxxxxx.com/search/?q=AlphaGo"
info <- debugGatherer()
handle <- getCurlHandle(cookiejar ="",
#turn the page
followlocation = TRUE,
autoreferer = TRUE,
debugfunc = info$update,
verbose = TRUE,
httpheader = list(
from = "eddie@r-datacollection.com",
'user-agent' = str_c(R.version$version.string,
",",R.version$platform)
))
html <- getURL(url,curl=handle,header = TRUE)
parsedpage <- htmlParse(html)
但是,当我使用代码时
xpathSApply(parsedpage,"//h3//a",xmlGetAttr,"href")
检查是否找到了目标代码,发现相关新闻信息的所有内容都丢失了。然后我发现按F12后的DOM elements(Chrome是我用的)包含了我想要的信息,而sources里面什么都没有(真的很乱,所有的元素都堆在一起了)。所以我将代码更改为:
parsed_page <- htmlTreeParse(file = url,asTree = T)
希望获得 dom 树。
不过,这一次信息丢失了,我发现所有丢失的信息都是DOM elements中折叠的信息(我以前从未遇到过这种情况)。
知道问题是如何发生的以及如何解决这个问题吗?
【问题讨论】:
-
你想要的输出是什么?每个页面的 url 或文本列表?
-
他们俩,我的代码有问题吗?
-
您违反了 CNN ToC 中的第 3 项。请确保您告知其他人您要求他们帮助您做出可能导致他们罚款或入狱的不道德行为。
-
亲爱的@hrbrmstr,感谢您的建议,我会删除相关信息,但会留下一般问题本身。它也纯粹用于学术和个人用途,但我完全理解您的担忧。谢谢。
标签: html r dom web-crawler