前提:
我弟在搞微信群营销,使用了一个第三方微信机器人软件来群发“最新电影链接”,看着别人群里分享的各种短域名,自己却没有资源,于是来求助我,虽然对爬虫有点了解,但是从来没亲自做过爬虫,只能硬着头皮上了,于是就有了下面这个全过程。
准备工作:
先是理解一下他的需求,就是想要一个最新电影的链接,然后还要可以根据群成员的提问,比如有成员发送“爱情公寓”,那么就要通过机器人返回给“爱情公寓”的在线观看链接,形式必须是短域名,可通过手机在线观看,至于是正版还是TS,无所谓!
我需要做的,只是提供最新的电影链接,后面的工作都是微信群机器人的工作,听上去好像还没那么复杂,我只需要找到一个可以稳定观看最新电影视频的网站,然后将其播放链接爬下来,再通过网上提供的短域名转换API接口,转换为短域名,保存到本地的一个文件,供其使用即可。
说实话,这种想不劳而获,一分钱不花,就观看最新影院电影的方式,无论是通过度娘,还是谷哥,都好难找啊,不是没有,是很多,但是都是各种黑链,非常之不安全,而且这些链接,发送到微信后,都会被微信屏蔽禁止访问。
千辛万苦,总算是找到了一个网站,这里不想被认为有推广嫌疑,所以不写其网站大名了,但是这个分享网站还真是挺好的,各种乱七八糟的东西全都有,里面有个专题,就是专门分享最新电影链接的,而且都是短域名,连转换的步骤都省了,直接爬下来,存储到本地即可。
分析工作:
网站找到了,接下来就是分析一下爬虫具体要做的事情,因为这个网页分享的链接,网页源代码相当粗糙,一步一步来:
第一步,先把指定的分享页面打开,爬取回来;
第二步,将全部的短域名过滤出来,存储在一个列表里;
第三步,再逐一将这些短域名打开,从中获取到这个视频的标题,也就是电影名称;
第四步,将电影名称,对应的短域名,都存储在本地文件里,OK,完成。
这么分析下来,好像比预计的要简单很多哦!
实际编写:
使用requests库,进行页面的爬取,将整个页面存储到变量中;
使用re库,进行指定内容的过滤筛选,将筛选结果存储到变量中;
使用os、logging库进行辅助功能的实现;
完整代码如下:
#!/usr/bin/python
# -*- coding:utf-8 -*
"""
Function: 爬取最新在线电影存储在本地
Create Time: 2018年08月12日 星期日 15时57分06秒
Author: **********@qq.com
"""
import o