【问题标题】:Scraping images from newspaper sites从报纸网站上抓取图像
【发布时间】:2020-08-05 23:33:15
【问题描述】:

为补救问题道歉(我是一位老教授,技术水平不高)。

我正在使用 rvest 使用此代码从报纸网站上抓取图像:

read_html(url) %>% html_nodes("img") %>% html_attr("src")

有些效果很好,但有些效果不佳。我在以下方面遇到了特别困难:

https://www.argusleader.com/picture-gallery/news/2020/03/28/photos-coronavirus-impact-sioux-falls/2932927001/

代码返回: 字符(0)

我最好的猜测是我没有正确识别原始 html 代码中的节点或属性标签。我尝试了许多变化,但收效甚微。

有人可以提供有关可用于从此类网站抓取图像的常见节点或属性的指导吗?

谢谢。

【问题讨论】:

  • 请确保您的所有行为都遵循服务条款:cm.argusleader.com/terms。对于此页面,只需深入到正确的标签即可。这应该可以帮助您入门:page<-read_html(url); page%>% html_nodes("media-gallery-vertical") %>% html_children()
  • 查看selectorgadget.com 以找到合适的选择器

标签: r image url rvest scrape


【解决方案1】:

你给的网站使用JS动态提供代码。可靠的方法是使用RSelenium,但你可以先看一下页面源。在这种情况下,该网站在<slide> 标签中有网址,并以某种方式将它们转换为<img> 标签。此代码将为您提供您可能想要的结果:

library(rvest)
pg <- read_html("https://www.argusleader.com/picture-gallery/news/2020/03/28/photos-coronavirus-impact-sioux-falls/2932927001/")
imgs <- pg %>% html_nodes("slide") %>% html_attr("original")

【讨论】:

    猜你喜欢
    • 2013-07-08
    • 1970-01-01
    • 2016-09-08
    • 2022-01-12
    • 2017-06-21
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    • 1970-01-01
    相关资源
    最近更新 更多