一、背景:
喜欢看电影,但又觉得花钱在视频网站开vip挺不划算的。。。(主要是是穷哈哈),于是经常浏览电影天堂这之类的免费电影网站看是否有好看的电影更新,
然而每次都要打开浏览器进入网站去看,重复久了这个过程不免会觉得很烦,
而且这种电影网站虽说资源更新也免费,但是在网页加载出来的一瞬间以及后续的各种点击操作弹出来充斥着各种“我是渣渣辉,来砍我呀”这之类的巨烦的广告:
再者,部分朋友用这个网站下载了电影之后会举报这个连接,导致我如果去下载的晚了的话,在下载时会显示链接失效。。。
由于自己也正在入门python哈哈,便想做一个电影更新自动提醒的脚本,在那边如果有新电影更新的话自动把新更新的电影信息发到我的邮箱中来。代码冗余度较高。。。勿喷。。
二、需求:
1、有更新时发送更新的电影。
2、脚本运行过程中的错误也需要及时发送到邮箱通知(邮件发送部分的错误除外,这个没办法),以便及时进行维护。
三、步骤:
1、第一次爬取某电影资源网站的更新列表,储存到数据库。
2、后面的每次循环依旧爬取,判断新爬取的电影名称是否在数据库中,以判断是否有更新。
3、每轮循环有异常则记下,发送错误邮件提醒,停止运行脚本,将捕获的异常详细信息记录到日志。若没有更新则进入下一轮循环,有则将更新的电影发送到我的邮箱,再更新数据库。
四、部署:
脚本打包成exe文件(pyinstaller),部署在我的云学生机winserver上的,24小时持续工作。从此我就不用每次都自己查啦。
五、效果图:
错误提醒的邮件被我删了,emmm就不贴啦!
服务器上
六、部分日志:
2019-08-08 16:34:59,677-movie_spider.py-movie_log-DEBUG-line[229]: 第95轮循环开始!
2019-08-08 16:35:00,708-movie_spider.py-movie_log-DEBUG-line[234]: 数据库连接成功
2019-08-08 16:35:00,817-movie_spider.py-movie_log-DEBUG-line[33]: 猜测网页的编码为:ISO-8859-1
2019-08-08 16:35:01,458-movie_spider.py-movie_log-DEBUG-line[34]: 通过响应获取到的网页编码为:GB2312
2019-08-08 16:35:01,458-movie_spider.py-movie_log-DEBUG-line[36]: 通过解析网页内容或取的网页编码为:gb2312
2019-08-08 16:35:02,067-movie_spider.py-movie_log-DEBUG-line[60]: 获取到共15部电影:[['2019年悬疑《十二个想死的孩子》BD日语中字', '2019-08-07', 'https://www.ygdy8.com/html/gndy/dyzz/20190808/58963.html'], ['2018年惊悚恐怖《阴风阵阵》BD中英双字幕', '2019-08-07', 'https://www.ygdy8.com/html/gndy/dyzz/20190122/58099.html'], ['2019年惊悚剧情《伦敦往事》BD中英双字幕', '2019-08-06', 'https://www.ygdy8.com/html/gndy/dyzz/20190807/58957.html'], ['2018年剧情惊悚《寡妇联盟》BD中英双字幕', '2019-08-06', 'https://www.ygdy8.com/html/gndy/dyzz/20190129/58125.html'], ['2019年动作《极线杀手》BD中英双字幕', '2019-08-06', 'https://www.ygdy8.com/html/gndy/dyzz/20190128/58119.html'], ['019年惊悚动作《报仇雪恨/血债血偿》BD中英双字幕', '2019-08-05', 'https://www.ygdy8.com/html/gndy/dyzz/20190806/58952.html'], ['2019年获奖剧情《沦落人》BD粤语中英双字', '2019-08-04', 'https://www.ygdy8.com/html/gndy/dyzz/20190805/58943.html'], ['2019年剧情《妈阁是座城》HD国语中英双字', '2019-08-04', 'https://www.ygdy8.com/html/gndy/dyzz/20190805/58942.html'], ['2017年科幻动作《机器之血》BD国语中字',