千家信息网

如何用R语言和Python爬取知乎美图

发表于:2025-01-26 作者:千家信息网编辑
千家信息网最后更新 2025年01月26日,如何用R语言和Python爬取知乎美图,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。学习Python已有两月有余,是时候检验下学习效
千家信息网最后更新 2025年01月26日如何用R语言和Python爬取知乎美图

如何用R语言和Python爬取知乎美图,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

学习Python已有两月有余,是时候检验下学习效果了,之前练习了不少R语言数据爬取,Python的爬虫模块还没有来得及认真入门,乱拼乱凑就匆忙的开始了,今天就尝试着使用R+Python来进行图片爬取,完成一个简单得小爬虫。

目标网址在这里:

https://www.zhihu.com/question/35931586/answer/206258333

R语言版:

library(rvest)

library(downloader)

url<-"https://www.zhihu.com/question/35931586/answer/206258333"

link<- read_html(url)%>% html_nodes("div.RichContent-inner>span")%>%

html_nodes("img")%>%html_attr("data-original")%>%na.omit

#借助Chrome的审查元素功能,借助其路径copy功能精准定位图片所在节点

link<-link[seq(1,length(link),by=2)] #剔除无效网址

Name<-sub("https://pic\\d.zhimg.com/v2-","",link) #提取图片名称

dir.create("D:/R/Image/zhihu/zhihu0807") #建立存储文件夹

setwd("D:/R/Image/zhihu/zhihu0807") #锁定临时目录

for(i in 1:length(link)){

download(link[i],Name[i], mode = "wb")

} #下载过程:

-----------

Python:

---------

import requests

from bs4 import BeautifulSoup

import os

import re

import urllib

目标网址:

url="https://www.zhihu.com/question/35931586/answer/206258333"

header = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.104 Safari/537.36'}

page=requests.get(url,headers=header) #读取网址

soup=BeautifulSoup(page.text,'lxml') #解析地址

link_list=soup.select("div[class='RichContent-inner'] span img")[::2]

#使用CSS选择器提取图片 地址所在节点

os.makedirs("D:/Python/Image/zhihu0807")

os.chdir('D:/Python/Image/zhihu0807')

for link in link_list:

mylink=link.get('data-original') #使用get方法提取图片地址:

name=re.findall(r"v2-.*?\.jpg",mylink)[0] #匹配图片名称

urllib.request.urlretrieve(mylink,name) #下载

完整代码:

R语言版:

library(rvest)

library(downloader)

url<-"https://www.zhihu.com/question/35931586/answer/206258333"

link<- read_html(url)%>% html_nodes("div.RichContent-inner>span")%>%html_nodes("img")%>%html_attr("data-original")%>%na.omit

link<-link[seq(1,length(link),by=2)] #剔除无效网址

Name<-sub("https://pic\\d.zhimg.com/v2-","",link) #提取图片名称

dir.create("D:/R/Image/zhihu/zhihu0807") #建立存储文件夹

setwd("D:/R/Image/zhihu/zhihu0807") #锁定临时目录

for(i in 1:length(link)){

download(link[i],Name[i], mode = "wb")

} #下载过程:


Python版:

import requests

from bs4 import BeautifulSoup

import os

import re

import urllib

url="https://www.zhihu.com/question/35931586/answer/206258333"

header = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.104 Safari/537.36'}

page=requests.get(url,headers=header)

soup=BeautifulSoup(page.text,'lxml')

link_list=soup.select("div[class='RichContent-inner'] span img")[::2]

os.makedirs("D:/Python/Image/zhihu0807")

os.chdir('D:/Python/Image/zhihu0807')

for link in link_list:

mylink=link.get('data-original')

name=re.findall(r"v2-.*?\.jpg",mylink)[0]

urllib.request.urlretrieve(mylink,name)

关于如何用R语言和Python爬取知乎美图问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

图片 语言 网址 名称 地址 问题 美图 功能 所在 文件 文件夹 方法 更多 目录 目标 节点 过程 存储 学习 帮助 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 零基础自学用什么软件开发 网络安全宣传周教育片 数据库备份还原和原来一样吗 湖北学习软件开发价格 即墨区直播软件开发 易金卡网络技术有限公司电话 上海理工数据库复试 福建文旅厅网络安全宣传周 信息技术与网络安全手抄报 数据库中的隔离级别有哪些 闵行区网络技术服务代理品牌 嘉定区常规软件开发创新服务 江西三套家庭教育网络安全 网络安全反诈骗宣传海报 百色快爆互联网科技有限公司 linux服务器不显示真实网卡 服务器调试网口 密码学网络安全攻防技术 温州软件开发和定制 如何让服务器的玩家说不了话 数据库属于哪一类文献 合肥蔚来汽车软件开发待遇 济南诚信积分管理软件开发公司 网络安全产业包括什么 数据库选择失误怎么回事 网络安全技术论文答辩 网络安全应急演练现场照片 服务器日志 删除 数据库小组期末思维导图总结 联合国贸发会议数据库使用教程
0