使用R语言 下载知乎问题 httpswwwzhihucomquestion30456390 下的所有原始图片文件到本地
由于知乎的图片是分布在不同的服务器上的,因此不能直接通过网页源码中的图片链接来批量下载。需要用到一些爬虫技巧。
以下是一种可能的解决方案:
- 安装R语言和以下两个包:
rvest和httr。
install.packages("rvest")
install.packages("httr")
- 通过rvest包获取网页源码,并用正则表达式匹配出所有图片链接。
library(rvest)
library(httr)
url <- "https://www.zhihu.com/question/30456390"
html <- read_html(url)
# 使用正则表达式匹配出所有图片链接
pattern <- "(https:\\/\\/pic\\d\\.zhimg\\.com\\/\\S+?\\.(jpg|png))"
img_links <- regmatches(html_text(html), gregexpr(pattern, html_text(html)))[[1]]
- 使用httr包下载图片文件。
# 新建一个文件夹,用来存放下载的图片文件
dir.create("zhihu_pics")
# 循环下载所有图片文件
for (i in seq_along(img_links)) {
filename <- paste0("zhihu_pics/", basename(img_links[i]))
GET(img_links[i], write_disk(filename, overwrite = TRUE))
}
这样就可以将知乎问题https://www.zhihu.com/question/30456390下的所有原始图片文件下载到本地的zhihu_pics文件夹中了
原文地址: https://www.cveoy.top/t/topic/c5xM 著作权归作者所有。请勿转载和采集!