未加星标

同时用R语言和Python爬取知乎美图R语言

字体大小 | |
[商业智能 所属分类 商业智能 | 发布者 店小二03 | 时间 | 作者 红领巾 ] 0人收藏点击收藏

同时用R语言和Python爬取知乎美图R语言
tm
同时用R语言和Python爬取知乎美图R语言
python
同时用R语言和Python爬取知乎美图R语言
HTML
同时用R语言和Python爬取知乎美图R语言
R语言
同时用R语言和Python爬取知乎美图R语言
可视化
同时用R语言和Python爬取知乎美图R语言
数据可视化

作者:杜雨,EasyCharts团队成员,R语言中文社区专栏作者,兴趣方向为:Excel商务图表,R语言数据可视化,地理信息数据可视化。


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


目标网址在这里:

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



同时用R语言和Python爬取知乎美图R语言

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功能精准定位图片所在节点



同时用R语言和Python爬取知乎美图R语言

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语言和Python爬取知乎美图R语言

完整代码:


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)


欢迎加入本站公开兴趣群

商业智能与数据分析群

兴趣范围包括各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识

QQ群:418451831

tags: #160,link,Python,gt,zhihu,zhihu0807,Image,lt,html,url,com,https,mylink,get,answer
分页:12
转载请注明
本文标题:同时用R语言和Python爬取知乎美图R语言
本站链接:http://www.codesec.net/view/562255.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 商业智能 | 评论(0) | 阅读(100)