没有抓取html源,但实际的网站

时间:2017-07-14 14:05:29

标签: html r web-scraping rvest bigdata

我正在开展一个项目,我想抓这样的页面,以获得这个城市的起源。我试着使用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

1 个答案:

答案 0 :(得分:3)

你不应该这样做。它们提供了一个API,您可以在此处找到它:https://status.kickstarter.com/api

以来,使用API​​或Ajax / JSON调用通常会更好
  1. 服务器没有被过度使用,因为您的Scrapper会访问它可以找到的每个链接,从而导致不必要的流量。这对您的程序速度不利,对您正在抓取的站点的服务器不利。

  2. 您不必担心他们更改了班级名称或ID,而且您的代码不再适用

  3. 特别是第二部分应引起您的兴趣,因为它可能需要数小时才能找到哪个类不再返回值。

    但要回答你的问题:

    当您使用正确的刮刀时,您可以找到您想要的所有东西。你用的是什么工具?在加载或加载网站之前,有可能获取数据。您可以单独在网站上执行JS并查找隐藏的内容或查找display:none Css类等内容......

    这取决于您使用的是什么以及如何使用它。