• 抓包分析

    • 搜索页面
    • 影视资源页面
    • 5.22更新完善
    • 获取百度云,电驴等连接
  • 代码实现
    • 所需第三方库
    • 搜索页面
    • 5.22更新解析搜索页链接
    • 获取下载页跳转链接
    • 获取下载链接
    • 5.22更新,增加json文件格式美化转变,显示中文
  • 结果

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

抓包分析

搜索页面

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

图中指出的就是搜索接口‘ http ://www.zimuzu.tv/search/index?keyword=西部世界&search_type=resource ’
就两参数:keywd和search_type(搜索类型)

影视资源页面

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

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


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

Request URL:http://www.zimuzu.tv/resource/index_json/rid/33701/channel/tv
分析多个页面后,发现只有33701是变化的,它就在西部世界url中(http://www.zimuzu.tv/resource/33701)

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

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

5.22更新完善

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

Request URL:http://www.zimuzu.tv/resource/index_json/rid/22376/channel/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%keywdhtml=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='<h3><a href="(.*?)" target'pattern='<h3><a href(.*?) target'# print(re.findall(pattern,data)[0].replace('\\',''))url=re.findall(pattern,data)[0].replace('\\','').replace('"','').strip()return url #获取的跳转到百度云等下载资源页面链接

获取下载链接

5.22更新,增加json文件格式美化转变,显示中文

def get_download(keywd,url):#电驴在div[id="tab-g1-MP4"]/ul/li/ul/li[2]/a/@href下,磁力是第三个
#百度云在div[id="tab-g1-APP"]/ul/li/div/ul/li[2]/a/@hrefif 'zmz' not in url:      #资源页面还包含一种跳转到种子站的链接,如https://rarbg.is/torrents.php?searchBattlestar%20Galactica%3A%20Blood%20and%20Chrome%20print('非下载页面:',url)passparam={'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',}res=requests.get(url,params=param).content.decode('utf-8')tree=html.fromstring(res)tree1=tree.xpath('//div[@class="tab-content info-content"]//div[@class="tab-content info-content"]')if tree1:downloadList=[]for item in tree1:ed2k=item.xpath('div[2]//ul[@class="down-links"]/li[2]/a/@href')#电驴name=item.xpath('div[1]//div[@class="title"]/span[1]/text()')#namebdy=item.xpath('div[1]//div[@class="title"]/ul/li[2]/a/@href')#百度云for i,j,k in zip(name,bdy,ed2k):downloadList.append(dict(name=i,bdy=j,ed2k=k))with open(keywd+'.json','a+',encoding='utf-8')as f:json.dump(downloadList,f,ensure_ascii=False,indent=2) #这里保存为json文件

结果

大致就是这样的。


5.22新的展示

思路代码大致就这样,没做异常处理(因为我想追的剧没报错,o( ̄︶ ̄)o,可能有错,也没优化代码,你可以改善一下,比如异常处理,多线程多进程并发等

下次再找个时间,做一下自动添加百度云离线下载、或是fdm下载的脚本吧。

Python爬虫:人人影视追剧脚本相关推荐

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

    最近追剧时发现找资源挺繁琐的,网页切换来切换去耗时也多,所以就想写个脚本代替.于是今下午花了点时间,先对人人影视进行了资源爬取. 抓包分析 搜索页面 打开工作台,选择NETWORK,刷新之后,如图: ...

  2. python爬虫下载影视网站的电影

    python爬虫下载影视网站的电影 我这边选取了vip网站 F12打开调试抓包模式 搜索影片的名称, 观察看看给那个url地址发送了请求, 我看到了 这个请求需要携带发送数据 而这个数据就是我们要的影 ...

  3. Python 爬虫批量下载美剧 from 人人影视 HR-HDTV

    本人比較喜欢看美剧.尤其喜欢人人影视上HR-HDTV 的 1024 分辨率的高清双字美剧,这里写了一个脚本来批量获得指定美剧的全部 HR-HDTV 的 ed2k下载链接.并依照先后顺序写入到文本文件, ...

  4. python 教你人人影视美剧下载?你爱了吗?

    最近无聊刷完了绝命毒师,这应该是我看过所有美剧里面感觉最完美的一部了,逻辑基本没什么大问题,埋的伏笔基本也填完坑.唯一不足的就是walt的智商感觉碾压了剧里面所有人,没什么精彩的智力博弈,唯一能抗衡的 ...

  5. Python爬虫爬取美剧网站

    一直有爱看美剧的习惯,一方面锻炼一下英语听力,一方面打发一下时间.之前是能在视频网站上面在线看的,可是自从广电总局的限制令之后,进口的美剧英剧等貌似就不在像以前一样同步更新了. 但是,作为一个宅dia ...

  6. python爬虫进阶,突破反脚本机制(反爬机制)

    前言 相信大家在做爬虫或者自动化脚本时或多或少的都能遇到反爬机制(或者说反脚本机制),最常见的反脚本机制都是在登录时进行验证,据本人大量实战(帮粉丝写脚本)发现,基本上只要有点水平的网站都会有反脚本的 ...

  7. Python爬虫解析当红网剧之《我是余欢水》

    它来了,它来了,正如阳光回来了,并且还是一口播出了两部作品, 而今天小编要探讨的剧集则是有郭京飞.苗苗.高露等实力派演员参演的豆瓣评分7.4分的<我是余欢水>. 该剧是由正午阳光出品,而在 ...

  8. Python爬虫 - 人人贷散标

    前言 这次爬的网站 人人贷 - 散标 是一个客户要求爬的,数据一共是148w多条,不过后来发现有绝大部分是无效数据,也就是那个页面不存在,不过我看网上很多人爬这个网站都是用什么 BeautifulSo ...

  9. python帮你来追剧

    前言 "武林至尊,宝刀屠龙,号令天下,莫敢不从.倚天不出,谁与争锋".如此熟悉的台词想必勾起了无数人的童年记忆.这便是金庸著作<倚天屠龙记>中的经典台词.想必当时也有很 ...

最新文章

  1. Liunx中环境变量的配置profile,environment,barshrc
  2. 最短路径:Dijkstra算法和Floyd算法
  3. gdbstub中的基本命令_GDB常用命令使用说明(一)
  4. python埋点测试_测试一面(宇宙条)
  5. PHP中去除换行解决办法小结(PHP_EOL)
  6. 分享:架构师软技能之协商
  7. 如何在H264数据中获取PTS?
  8. Kafka从上手到实践 - Kafka CLI:Reseting Offset Config CLI | 凌云时刻
  9. js 实现文件上传 php,JS+php后台实现文件上传功能详解
  10. 手把手教你为 中文PDF电子书自动批量添加书签/目录, 彻底告别手动添加书签的烦恼
  11. 311、FirebaseAnalytics和Google Analytics总结
  12. JeecgBoot全套开发环境搭建
  13. 【XSY3906】数数题(期望,多项式)
  14. 数字IC后端需要学习什么?需要具备哪些技能?
  15. 滴滴APM工具Dokit
  16. 怎样根据电阻上的色环,判断电阻的大小
  17. 【干货】一文详尽之支持向量机算法!
  18. [NOIP模拟][动态规划]permut
  19. 文章列表的显示 以及创建文章 还有文章详情的基本--react项目5
  20. git 远端更新合并到本地

热门文章

  1. 修正 Newton 公式
  2. android h5和原生方法调用,Android原生与H5通信
  3. 九连环问题c语言程序,九连环答案生成器的C源程序 (转)
  4. 计算机缓存Cache以及Cache Line详解
  5. 2010新浪笔试---数据挖掘
  6. SpringBoot 接口数据加解密
  7. ES6 生成器(Generator)
  8. 开源项目-绩效管理系统pms
  9. 使用vue-cli快速构建项目
  10. 华东师大计算机专业非全日制,华东师范大学非全日制研究生遇冷?