最近追剧时发现找资源挺繁琐的,网页切换来切换去耗时也多,所以就想写个脚本代替。于是今下午花了点时间,先对人人影视进行了资源爬取。
抓包分析
搜索页面
打开工作台,选择NETWORK,刷新之后,如图:
图中指出的就是搜索接口‘ http ://www.zimuzu.tv/search/index?keyword=西部世界&search_type=resource ’
就两参数:keywd和search_type(搜索类型)
影视资源页面
点进西部世界的资源面,我们接着要获取什么呢?当然是下载链接了。
没错,就是蓝色的资源下载页,再次抓包分析。
没错就是图中箭头所指的tv,这就是接口,
看他的返回值,是一个类似json格式的数据,但不规范。如图:
把鼠标移到跳转下载链接上,发现是http :///v5ta03 ,搜索一下 v5ta03 ,就能找到了。如图:
5.22更新完善
今天使用时,发现报了错,有些资源抓取不到。再次抓包分析后,发现资源分为两类:电视剧、电影。
电影的接口是 movie,类似:
获取百度云,电驴等连接
接下来就简单了,静态页面,有点经验就OK的。如图:
代码实现
所需第三方库
import requests
from lxml import html
import re
import json
搜索页面
#获取搜索页面资源
def get_html(keywd,url):
param={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0',
}#cookie相带就带
Url=url%keywd
html=requests.get(Url,params=param).content.decode('utf8')
return html
5.22更新解析搜索页链接
def get_movielink(text):
tree=html.fromstring(text)
ctree = tree.xpath('//div[@class="clearfix search-item"]')
link=[]
for item in ctree:
print(item.xpath('em/text()')[0],item.xpath('div[2]/div/a/strong/text()')[0],':',item.xpath('div[2]/div/a/@href')[0])
link.append((item.xpath('div[2]/div/a/@href')[0],item.xpath('em/text()')[0]))
return link #元组的列表,元组第一个元素是资源类型(如电影)
获取下载页跳转链接
def get_downloadlink(link):
if type_link=='电视剧':
from_url='http://www.zimuzu.tv/resource/index_json/rid/%s/channel/tv'%link.split('/')[-1]
else:
from_url='http://www.zimuzu.tv/resource/index_json/rid/%s/channel/movie'%link.split('/')[-1]
param = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0',
#‘cookie’可以有
'Referer':'http://www.zimuzu.tv%s'%link,
}
data=requests.get(from_url,params=param).content.decode('utf8')
data=''.join(data.split('=')[1:])
print(data)
# pattern='
pattern='
如果觉得《ed2k解析源码php Python爬虫:人人影视追剧脚本》对你有帮助,请点赞、收藏,并留下你的观点哦!