手把手教你利用Python自动下载CL社区图片

537 阅读4分钟
原文链接: www.cnblogs.com
钟子敬07

导航

统计

  • 随笔 - 16
  • 文章 - 0
  • 评论 - 0
  • 引用 - 0

公告

搜索

   

常用链接

随笔档案

最新评论

阅读排行榜

评论排行榜

推荐排行榜

 

手把手教你利用Python自动下载CL社区图片

需求描述:

    最近发现CL社区上好多精华的帖子分享的图片非常棒,好想好想保存下来,但是一张一张地保存太费时间了,因此,造物者思想主义的我就想动手写个工具,实现只要输入帖子的链接,就能把所有的精华图片下载下来。

程序分析思路:

    Python是一个很好的工具,使用起来非常方便。因此我决定用Python去实现。

思路大概就是,我先输入链接,然后每一张图片的链接,然后去下载它。需求很明确,逻辑应该很清晰,开始干吧。

    环境说明:本人使用的是win7+Python3

首先导入re、requests、os三个包,用于爬虫,os包用于目录的创建

输入你要保存图片的的链接url = input("Input key url: ")

这里以dd.dety.men/htm_mob/16/…为例,在浏览器打开是这样的,由于不可描述,我只能放这么一点东西

这里用获得网页的内容result = requests.get(url)

result.text是获取到的网页源码,为了避免有编码问题的困扰,我们现在前面做一下转码

然后我们需要在源码中找到标题,一会用作保存文件的文件名,标题的寻找的实现代码是,这样返回的是一个list,我们用的时候直接取第0个就好(程序猿数数都是从零开始的)。

这里要说一下这个寻找标题的实现代码的正则表达式,我们看到网页链接中的源码是

实现代码的正则表达式就是要找<title>和</title>中间的那一部分,找到的标题如下

下面来干正事了,从网页中找图片的链接,首先先看浏览器上,按F12打开开发者模式,点击一下"从页面中选中一个元素",选中图片,看到图片的源码

<input data-src="http://www.79img.com/u/20180829/13435782.jpg"

但是我们需要在Python中看看re获取到的源码是什么样的,

获取到的图片链接是这样的data-src=\'http://www.79img.com/u/20180829/13392462.jpg\',因此我们用下面这个代码来找到所有的图片链接

pic_url = re.findall('data-src=\'(.*?)\'', result_text, re.S)

找到链接之后就是下载了,这是下载的方法,keyword是刚才找到的标题名

加入了创建目录的操作

源码和如何使用:

最终的源码如下图所示:

源码已经上传至github,欢迎下载,欢迎各种star,fork

github.com/rootzhongfe…

按如图使用

就可以看到在当前目录产生了一个目录,给你们看看最后的成果图吧,很黄很暴力。

posted on 2018-09-01 21:23 钟子敬07 阅读(3) 评论(0) 编辑 收藏   刷新评论刷新页面返回顶部 注册用户登录后才能发表评论,请 登录注册访问网站首页。 最新IT新闻:
· 荣耀Magic 2推出滑屏,是创新还是倒戈苹果的闹剧?
· 趣店、乐信双发财报:明星创始人“一时瑜亮”,现已分道扬镳
· 网游总量调控:腾讯网易的一时之痛 VS 小厂商们的灭顶之灾
· 一线城市靠房子实现“血液净化”,你离逃离北上广还有多久?
· 程维道歉之后,滴滴的客服究竟要怎么改?
» 更多新闻... 最新知识库文章:
· 如何招到一个靠谱的程序员
· 一个故事看懂“区块链”
· 被踢出去的用户
· 成为一个有目标的学习者
· 历史转折中的“杭派工程师”
» 更多知识库文章...   Powered by:
博客园
Copyright © 钟子敬07