数据挖掘r语言和python知乎_同时用R语言和Python爬取知乎美图

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

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

目标网址在这里:

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

R语言版:

library(rvest)

library(downloader)

url

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

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

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

link

Name

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

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

link

Name

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群:81035754

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值