ed2k解析源码php,Python爬虫:人人影视追剧脚本

最近追剧时发现找资源挺繁琐的,网页切换来切换去耗时也多,所以就想写个脚本代替。于是今下午花了点时间,先对人人影视进行了资源爬取。

抓包分析

搜索页面

打开工作台,选择NETWORK,刷新之后,如图:

07991c33ed57dc674629c97476e5182c.png

图中指出的就是搜索接口‘ http ://www.zimuzu.tv/search/index?keyword=西部世界&search_type=resource ’

就两参数:keywd和search_type(搜索类型)

影视资源页面

点进西部世界的资源面,我们接着要获取什么呢?当然是下载链接了。

873bf6ff1995ad0f6204c8aa19d52aee.png

没错,就是蓝色的资源下载页,再次抓包分析。

f01e6b78498f55a3e883b6e2ae5c3afa.png

没错就是图中箭头所指的tv,这就是接口,

看他的返回值,是一个类似json格式的数据,但不规范。如图:

117eb7faf0c2665a83bc460df7723ce3.png

把鼠标移到跳转下载链接上,发现是http ://zmz003.com/v5ta03 ,搜索一下 v5ta03 ,就能找到了。如图:

235278ef278339f89a6fff2a4277c97e.png

5.22更新完善

今天使用时,发现报了错,有些资源抓取不到。再次抓包分析后,发现资源分为两类:电视剧、电影。

电影的接口是 movie,类似:

获取百度云,电驴等连接

接下来就简单了,静态页面,有点经验就OK的。如图:

dc6a0135068ee69c95ee9104445c40b5.png

代码实现

所需第三方库

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='

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值