如何优雅的“轮带逛”初级篇——获取单张图片

浏览: 2016

更多图片欣赏:如何优雅的“轮带逛”初级篇——获取单张图片

首先上收藏夹 轮子哥带我逛知乎 - 收藏夹 - 知乎

@vega13创建,内容挺多的。例如,

4fVMbpi.jpg

EgCezYY.jpg

等等,看的老夫脸都红了

写了一个简单爬取图片的程序。记录下过程。手动 @轮子哥

1、分析网页

收藏夹只收藏了问题的一个答案,初步想法是获取当前页面的图片

因为上一次原因,直接去网页源代码

Clipboard Image.png

<img src="https://pic4.zhimg.com/de5ecb16bcb912e99a83f647eb96c5bb_200x112.jpg" data-rawwidth="1080" data-rawheight="1080" class="origin_image inline-img zh-lightbox-thumb" data-original="https://pic4.zhimg.com/de5ecb16bcb912e99a83f647eb96c5bb_r.jpg">
<img data-rawwidth="1280" data-rawheight="1836" src="https://pic2.zhimg.com/v2-61ba67d910104f99acdb805a3568ab05_200x112.jpg" class="origin_image inline-img zh-lightbox-thumb" data-original="https://pic2.zhimg.com/v2-61ba67d910104f99acdb805a3568ab05_r.jpg">

在<img>标签下,src和data-original都含有图片链接,经验证data-original是大图,那就把每个问题的图片链接找到了,接下来就很简单了。

2、代码

就18行的代码。简单吧~

import requests,urllib
from lxml import etree

def get_img(url):
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'}
r= requests.get(url,headers=headers).text
s = etree.HTML(r)
#print(r)
link = s.xpath('//img/@data-original')
for i in link:
print(i)
name = i.split('/')[-1]#图片名称
urllib.request.urlretrieve(i,name)

if __name__ == '__main__':
for i in range(1,43):
url = 'https://www.zhihu.com/collection/78172986?page=' + str(i)
get_img(url)

但是这样存在一个问题

link = s.xpath('//img/@data-original')

这里的link只有每个回答的第一张图片,更多的图片藏在文本中,除了正则不知道还有没有更好的办法

Clipboard Image.png

只有200多张图片。结尾有百度云

下载了几分钟出现错误,有一张图片下载不了,知友们有什么好办法吗?

三、“轮带逛”高级篇

既然有初级篇,肯定还有高级篇。

其实这个收藏夹中每一个问题下面都含有很多回答,收藏夹只是选取其中一个,也就是被轮子哥点赞的那个,那么还有那些没有被点赞的呢?

下一期讲一讲怎么获取所有图片链接。

放一张图片,卡死我程序的

Clipboard Image.png

知乎看片

指日可待

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------最后的小广告-------------------------------------------------------

有朋友竟然叫我去作一期直播,讲一讲Python。

打算根据自己的经历分享一些经验,主要是关于Python入门的,想听听可以私信我。

时间是周二晚9点~

---------------------------------------------------------------------------------------------------------------------------

百度云下载

链接:http://pan.baidu.com/s/1dFOPbUx 密码:abrl

推荐 3
本文由 崔斯特呀 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

3 个评论

老师怎么参加,求加入
世润喜欢看美女呀
https://www.douyu.com/cuishite

要回复文章请先登录注册