r - 使用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")
解决方案
推荐阅读
- php - Laravel 请求会话获取返回布尔值而不是值
- python - 如何在 QTextEdit 中插入图像?
- c# - 使用 web api 自动完成文本框
- java - 使用 Camel Netty4 发布请求响应 - HTTP 操作调用失败
- python - 连接两个具有公共列的数据框
- django - 如何向 django 表单小部件添加额外的上下文
- android - 如何使用 AWSMobileClient 设置不同的配置(awsconfiguration.json)以进行调试和发布构建类型
- sql - 我需要一些帮助来更改一些代码,有时会出错
- kotlin - how to return a generic data type (Temple) from class function
- python - Excel 未在 Apache 上运行的 Django 应用程序上开始使用 win32