使用R语言 下载 httpswwwzhihucomquestion30456390 回答下所有的图片
此处提供一种思路,使用R语言中的rvest库和magick库来实现下载并合并图片。
- 安装
rvest和magick库
install.packages("rvest")
install.packages("magick")
- 使用
rvest库中的read_html()函数获取页面内容,并使用CSS选择器获取所有图片的链接
library(rvest)
url <- "https://www.zhihu.com/question/30456390"
html <- read_html(url)
img_urls <- html %>%
html_nodes(".RichContent-inner img") %>%
html_attr("src")
- 使用
magick库中的image_read()函数读取图片,并将所有图片合并为一张大图
library(magick)
# 下载并读取所有图片
imgs <- lapply(img_urls, function(url) image_read(url))
# 计算大图的宽度和高度
widths <- sapply(imgs, function(img) {dim(img)[2]})
heights <- sapply(imgs, function(img) {dim(img)[1]})
max_width <- max(widths)
total_height <- sum(heights)
# 创建一张白色背景的大图
merged_img <- image_blank(max_width, total_height, "white")
# 开始合并所有图片
y_start <- 0
for (i in 1:length(imgs)) {
img <- imgs[[i]]
y_end <- y_start + dim(img)[1] - 1
merged_img <- image_composite(merged_img, img, offset = sprintf("+0+%d", y_start))
y_start <- y_end + 1
}
- 将合并后的大图保存到本地
image_write(merged_img, "merged_img.jpg")
``
原文地址: https://www.cveoy.top/t/topic/c5xj 著作权归作者所有。请勿转载和采集!