首页 > 解决方案 > 使用rvest下载图片时如何添加Referer?

问题描述

我正在尝试从网站上抓取图片。基于 R 包开发人员的出色工作,我得到了图片的 url。但我无法使用 download.file() 下载所需的图片。我能得到的只是一张无意义的图片。我在stackoverflow上搜索,认为问题是网站的反爬虫机制。也许我需要为抓取工作设置Referer。有没有人可以就如何解决这个问题提出建议?很困扰我,先谢谢了!

library(rvest)
library(RCurl)
library(XML)
library(httr)
library(stringr)
myheader <- c(  "User-Agent" = "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6) ",  "Accept" = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",  "Accept-Language" = "en-us",  "Connection" = "keep-alive",  "Accept-Charset" = "GB2312,utf-8;q=0.7,*;q=0.7",  "Referer" = "http://www.mm131.com")
url <- "http://www.mm131.com/mingxing/2016.html"

imgsrc <- html_session(url, add_headers(myheader))%>%   html_node(".content-pic img") %>%   html_attr('src')
download.file(imgsrc, "test.jpg",  mode = "wb")

标签: rrvest

解决方案


推荐阅读