¶题外话
电视剧《琅琊榜》的大热期已过,一直没时间看看究竟演的啥?于是,在度娘上找到下载地址,准备细细品味(强迫症!非要下载下来看)。
附上地址:琅琊榜高清下载地址,坑,就在整个网页54集的电视剧居然没有给一个“全选”按钮,非得点一个链接才能下载一集。这样的事情,就促成了强迫症做下了接下来的事情…
这样学习挺有意思的。
¶自动化处理的思路
查看整个下载地址:http://www.dy2018.com/i/95650.html
该网页是静态页面,我的目的是使用Python将网页标签中对应的每一集的download链接爬出来,保存在windows剪切板或文本文件中,之后直接把下载链接复制到迅雷或QQ旋风等下来器中,完成下载,这样一看就很简单了, 高手勿喷啊>>。
下面是详细的过程。
¶开发环境
- win10 64位, win7以上应该都可以;
- Python 2.7.10_x64;
- IDE: Pycham Community Edition 5.0.1;
- 所需要的python库:urllib2、bs4、chardet、python_win32 API等.
¶代码描述
代码清单包含:clipBoardUtil.py、lybTv_main.py、lybTvSpider_Py2.py、fileRename.py、lyb_urls.txt 五个文件。
整个目录结构如下图所示:
[1]. 首先创建lybTvSpider_Py2.py文件,获取网页源码进行解析,是功能实现的主要内容。
1 | # lybTvSpider_Py2.py |
其中用到的Python类库urllib2、bs4、chardet,可使用PyCham快捷键Alt + Enter, 代码提示后自动安装,这个功能很赞!
[2]. lybTv_main.py运行主程序:
1 | # lybTv_main.py |
**说明:**当我们解析到完整的下载地址后并存放到了tvs_url 列表当中,tvs_url 已经格式化了,在每个下载地址后添加了换行符“\n”,这时,我们就可以将下载地址直接保存到windows系统的剪切板中,同时打开迅雷或QQ旋风等下载器将会自动识别windows剪切板中的下载地址,只需点一下下载器的下载按钮就可以开始Downloading了…(代码中为了防止出错,添加了save_download_urls(self, tvs_list_url)函数,可以将所有的下载地址保存在lyb_urls.txt文件中)
效果图如下:
[3]. 使用到clipboardUtil.py代码如下:
1 | # clipBoardUtil.py |
Python调用Win32API使用Windows的剪切板功能,win32的Python库需要手动安装一下,下载地址为:
http://sourceforge.net/projects/pywin32/files/pywin32/。
找到自己对应的版本,由于我使用的是Python2.7.10,因此,下载的win32版本为:/Build 219/目录下的pywin32-219.win-amd64-py2.7.exe版本。注意,安装后PyCham不能立即识别,需重启一下IDE。
更为具体的win32安装请见博客:http://blog.sina.com.cn/s/blog_523491650100hevh.html
<<至此,程序基本上就搞定了>>
¶剧集重命名
下载完成后,强迫症又发现默认的剧集名称臭长难视,那就果断改名呗!文件名主要有两类,形如:
[电影天堂www.dy2018.com]琅琊榜_21.720p未删减版.mp4 和
琅琊榜_20.720p未删减版[电影天堂www.dy2018.com].mp4,目标是变成这样的:琅琊榜_20.mp4。具体描述如下:
[4]. fileRename.py代码清单:
1 | # fileRename.py |
最终的效果如下所示(这就清爽多了):
最后,附上本爬虫源代码: 项目 github 地址
END!