软件风向标

新闻

栏目

斗破苍穹 hd攻略 斗破苍穹2

2023-05-29 06:44:04

大家好,我是辣条。



最近被室友安利热血动画《终末女武神》武神》和《拳击愿阿修罗》周末休息熬夜。然而,资源并不容易找到。辣条一怒之下就爬上了资源。现在你可以看到足够的了。我的室友崇拜并想起了我的班花。快开学吧,阿西...


Python爬虫-vip动漫采集


效果展示




爬取目标


网站目标:樱花动画




工具使用


开发工具:pycharm


开发环境:python3.7, Windows10


使用工具包:requests,lxml, re,tqdm


重点学习内容


正则的使用 tqdm的使用 处理各种音频数据


分析项目思路


搜索你需要的动画数据,根据你需要的视频有不同的方法来分析视频(你会选择两个视频来分析)




当前页面需要提取相应的章节信息,获取章节信息a标签的跳转内容,提取每章的名称,以及我使用的章节提取方法xpath方法(你可以自己尝试其他方法)




headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36', 'Referer': 'http://www.imomoe.la/search.asp'}url = 'http://www.imomoe.la/view/8024.html'response = requests.get(url, headers=headers)# print(response.content.decode('gbk'))html_data = etree.HTML(response.content.decode('gbk'))chapter_list = html_data.xpath('//div[@class="movurl"]/ul/li/a/text()')chapter_url_list = html_data.xpath('//div[@class="movurl"]/ul/li/a/@href')[0]



url数据需要根据新数据自行拼接url获取详细页面的数据




根据正常思维,首先要检查播放地址是否为静态数据




很明显,数据不是静态数据,而是通过抓包工具来区分是否是动态数据。




它不是动态数据,媒体数据也不知道如何形成。




从一开始就从前端页面进行分析,寻找视频页面的事件。




有效数据尚未找到,但在iframe下面的Script标签有js跳转地址 ,数据网播放地址相同的域名, 点击查看, 这不是我们要找的视频播放地址吗? ,终于找到了,开始实现了 通过当前页面xpath方式提取出script里的js跳转地址, 拼接新的视频链接播放地址,发送请求,通过正则表达式提取一切MP4播放地址。




new_url = 'http://www.imomoe.la' chapter_url_listresponse = requests.get(new_url, headers=headers)html = etree.HTML(response.content.decode('gbk'))data_url = 'http://www.imomoe.la' html.xpath('//div[@class="player"]/script[1]/@src')[0]res = requests.get(data_url, headers=headers).text# print(res)play_url_list = re.findall('\$(.*?)\$flv', res)print(play_url_list)



保存视频数据发送请求,保存数据到mp4 ,通过tqdm工具可以查看相应的下载速度和下载进度


for chapter, play_url in tqdm(zip(chapter_list, play_url_list)): result = requests.get(play_url, headers=headers).content f = open(';终末女武神/' chapter '.mp4', "wb") f.write(result)



大功告成 但是当我把网站修改成动画打破天空时,返回的数据是空的






该视频的加载数据规则不同m3u8的格式, 其它音频的数据加载可能不同, 处理m3u8的数据有点复杂,它的m3u8文件内部有嵌套m3u8链接地址, 链接地址拼接需要转换相应的数据接口, 取出ts下载文件,拼接成视频。


m3u8_url_list = re.findall('\$(.*?)\$bdhd', res)for m3u8_url, chapter in zip(m3u8_url_list, chapter_list): data = requests.get(m3u8_url, headers=headers) # print(data.text) new_m3u8_url = 'https://cdn.605-zy.com/' re.findall('/(.*?m3u8)', data.text)[0] # print(new_m3u8_url) ts_data = requests.get(new_m3u8_url, headers=headers) ts_url_list = re.findall('/(.*?ts)', ts_data.text) print(";正在下载:", chapter) for ts_url in tqdm(ts_url_list): result = requests.get('https://cdn.605-zy.com/' ts_url).content f = open(';打破天空/' chapter '.mp4', "ab") f.write(result)



总结项目思路


获取想要动画的地址,提取详细信息页面的名称已转到地址获取页面静态js文件分析视频播放地址或m3u文件保存相应的数据


共享简单的源代码


import requestsfrom lxml import etreeimport refrom tqdm import tqdmheaders = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36', 'Referer': 'http://www.imomoe.la/search.asp'}url = 'http://www.imomoe.la/view/8024.html'response = requests.get(url, headers=headers)# print(response.content.decode('gbk'))html_data = etree.HTML(response.content.decode('gbk'))chapter_list = html_data.xpath('//div[@class="movurl"]/ul/li/a/text()')chapter_url_list = html_data.xpath('//div[@class="movurl"]/ul/li/a/@href' print(chapter_list)# print(chapter_url_list)new_url = 'http://www.imomoe.la' chapter_url_listresponse = requests.get(new_url, headers=headers)html = etree.HTML(response.content.decode('gbk'))data_url = 'http://www.imomoe.la' html.xpath('//div[@class="player"]/script[1]/@src')[0]res = requests.get(data_url, headers=headers).text# print(res)play_url_list = re.findall('\$(.*?)\$flv', res)print(play_url_list)for chapter, play_url in tqdm(zip(chapter_list, play_url_list)): result = requests.get(play_url, headers=headers).content f = open(';终末女武神/' chapter '.mp4', "wb") f.write(result)





找不到或学习Python是的,可以直接评论留言或私人非常感谢您的赞扬、收藏、关注和评论,一键四连支持



最后,小编想说:我是个人python开发工程师整理了一套最新的python系统学习教程,想要这些信息可以关注私人信息小边01(免费分享哦)希望能帮助你.

相关文章

图文推荐

猜你喜欢

  • 苍穹

  • 攻略

  • hd

苍穹[共279款]更多>>

攻略[共106796款]更多>>

hd[共144款]更多>>