我正在开展一个项目,我想抓这样的页面,以获得这个城市的起源。我试着使用css选择器:“。type-12~.type-12 + .type-12”但是我没有将文本输入R.
链接: https://www.kickstarter.com/projects/1141096871/support-ctrl-shft/description
我使用rvest和read_html函数。
但是,源代码中似乎有一些脚本。在脚本返回结果之后有没有办法抓取网站(正如您在浏览器中看到的那样)?
PS我看了类似的问题,但确实找到了答案..
代码:
main.names <- read_html(x = paste0("https://www.kickstarter.com/projects/1141096871/support-ctrl-shft/description")) # feed `main.page` to the next step
names1 <- main.names %>% # feed `main.page` to the next step
html_nodes("div.mb0-md") %>% # get the CSS nodes
html_text()# extract the text
答案 0 :(得分:3)
你不应该这样做。它们提供了一个API,您可以在此处找到它:https://status.kickstarter.com/api
自
以来,使用API或Ajax / JSON调用通常会更好服务器没有被过度使用,因为您的Scrapper会访问它可以找到的每个链接,从而导致不必要的流量。这对您的程序速度不利,对您正在抓取的站点的服务器不利。
您不必担心他们更改了班级名称或ID,而且您的代码不再适用
特别是第二部分应引起您的兴趣,因为它可能需要数小时才能找到哪个类不再返回值。
但要回答你的问题:
当您使用正确的刮刀时,您可以找到您想要的所有东西。你用的是什么工具?在加载或加载网站之前,有可能获取数据。您可以单独在网站上执行JS并查找隐藏的内容或查找display:none
Css类等内容......
这取决于您使用的是什么以及如何使用它。