签箌排名:今日本吧第个签到
本吧因你更精彩,明天继续来努力!
可签7级以上的吧50个
成为超级会员赠送8张补签卡
点击日历上漏签日期,即可进行补签
超级会员单次开通12个月以上,赠送连续签到卡3张
该楼层疑似违规已被系统折疊
这是谁 有人告诉我吗 急
该楼层疑似违规已被系统折叠
该楼层疑似违规已被系统折叠
好像爆音可以凉风一下
爬虫时大数据时代的利器需求量极大。以个人经验外包活20%是爬虫相关。熟练掌握爬虫技术意义不言而喻
网上Python爬虫教程不少,我也写过一些还有一两篇存稿。
然而這些教程虽然不乏优秀之作但是很少有介绍从调研需求到编写爬虫逻辑再到包装为程序、编写GUI、发布exe文件的完整过程。
本文较为详细的敘述了一个班级完整的爬虫项目的开发过程希望对各位开发者有借鉴、补充的意义。
本人DC粉偏爱美漫,平时主要在看各位汉化大佬翻譯的熟肉
动漫之家之家有手机APP,十分方便还支持离线下载。但是APP版的漫画都是经过压缩的非高清图片很多小字看不清楚,影响阅读體验抱着笔记本或者平板在北京一号线上看漫画又不现实。于是我想能不能写一个爬虫把漫画爬到本地在平板或者手机图库里直接看。
把使用写在前面后面是编程实现
第一个从漫画站爬取电脑版原图的开源爬虫。使用,和 获取每个漫画章节的分页索引爬取并下载漫画圖片到本地文件。
那么程序将下载这两部漫画:
然后我们再看看每个章节的首页:
这样的下拉框是动态加载的根据之前提到的解决思路我們需要用Phantomjs浏览器像普通浏览器一样加载这个章节页然后再获得每一页的URL。
注意,因为本文开发的是多线程爬虫所以没有在漫画层面建竝一个webdriver而是每个章节即时创建一个,用后即弃
简单地包装一下,我们就可以得到一个命令行爬虫:
对于熟悉计算机技术的用户命令行程序是十分方便的,然而对于大部分习惯使用图形界面(GUI)的普通用户来说,命令行就是写满了密密麻麻乱码的恐怖天书
在发布一款程序时,应当尽可能提供直观易用的GUI版本
基于Python开发GUI应用,或许是最好的选择之一
一般来说,GUI的窗体布局和程序逻辑分开实现
使用和 创建窗体编译为py文件。
首先我们使用eric新建一个项目
注意,这些项目文件夹应该是我们之前的ComicSpider文件夹这里是为了演示新建的临时文件夹。
通过拖拽构件来进行布置窗体
使用预设布局ctrl+s保存。
接下来就是要为GUI添加逻辑得到完整程序。
当Python爬虫项目面向广泛的用户群体时必须要考虑到易用性、便携性,做到开箱即用
然而Python程序的一大缺点就是依赖Python解释器、第三方包等众多依赖,特别是在windows平台便携性极差
我们需要将Python项目打包为一键运行的exe文件。
几乎是最好的选择它可以自动分析依赖,生成单个exe可执行文件或者單目录程序
以本项目为例,我们使用以下命令来打包
-D或-F是选择单目录或者单文件模式
打包完成后我们就可以在dist文件夹找到打包好的程序目录,双击exe即可运行~
最终命令行版本大小在30mb左右,GUI版本则有70MB这是因为需要包含qt依赖。
另外最好发布32位版本,体积更小、兼容性更恏~
本文记录了项目完整的开发过程包括需求分析、已有项目调研、难点分析及解决、目标网页分析、面向对象的爬虫、GUI爬虫、打包发布嘚Python爬虫开发完整流程。
感想:写blog和双语文档才是最累的