一个简单得爬虫小案例:获取西瓜网视频数据【python】
2023-12-14 22:20:11
嗨喽~大家好呀,这里是魔王呐 ? ~!
python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取
第三方模块:
- requests >>> pip install requests
环境介绍:
-
python 3.8 解释器
-
pycharm 编辑器
思路分析
找到数据来源
你要爬取的视频 筛选 找不到的情况下 目的是找视频链接
-
在网页源代码当中寻找
-
在XHR当中寻找
-
全局搜索m3u8
在网页源代码当中
先访问到 https://www.ixigua.com/7258418700380799499?logTag=9b34beaa8f46169ebe1d
从这个里面获取到网页源代码
将网页源代码当中我们所需要的链接取出来
将链接转换为正常的链接
访问视频链接
保存视频
base64编码的特征:
A-Z a-z 0-9 = /
结尾 可能会出现等于号
代码展示
import requests # 第三方库 用来 发送请求的(访问网站的)
import re # 内置模块 无需安装
import base64 # 内置模块
请求头 (伪装信息)
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
headers = {
'Cookie': 'MONITOR_WEB_ID=8d5f04e0-fe22-47a6-a491-b16fa6947d63; s_v_web_id=verify_ljjyg5tm_onV1WDIr_W0td_4OWn_8Dxc_yi4nDyEV00P3; passport_csrf_token=8ffd23674c978db5d35b066b9b31569a; passport_csrf_token_default=8ffd23674c978db5d35b066b9b31569a; passport_auth_status=695e58f3edfbdafaf9b2f6ddde2201f0%2C; passport_auth_status_ss=695e58f3edfbdafaf9b2f6ddde2201f0%2C; sid_guard=9941c7bb707ab04e04131a7548ea92d4%7C1688990652%7C3024001%7CMon%2C+14-Aug-2023+12%3A04%3A13+GMT; uid_tt=10afba672e2dea7699ecb66806a66367; uid_tt_ss=10afba672e2dea7699ecb66806a66367; sid_tt=9941c7bb707ab04e04131a7548ea92d4; sessionid=9941c7bb707ab04e04131a7548ea92d4; sessionid_ss=9941c7bb707ab04e04131a7548ea92d4; sid_ucp_v1=1.0.0-KDY2ODA0M2QyZTdkOThjNzZhNGY4OWNmZDI3NTM0ZGJlNjllMjVhZDMKFAjo5IrYFxC856-lBhgYIAw4CEAFGgJobCIgOTk0MWM3YmI3MDdhYjA0ZTA0MTMxYTc1NDhlYTkyZDQ; ssid_ucp_v1=1.0.0-KDY2ODA0M2QyZTdkOThjNzZhNGY4OWNmZDI3NTM0ZGJlNjllMjVhZDMKFAjo5IrYFxC856-lBhgYIAw4CEAFGgJobCIgOTk0MWM3YmI3MDdhYjA0ZTA0MTMxYTc1NDhlYTkyZDQ; odin_tt=a3cba10f3b3fe71c240c44f825f7beef39a6aee66ef3bf9137b661f560f038e16f2fbe234c4fd0060fdf65cc4193b429; support_webp=true; support_avif=true; csrf_session_id=21d60d688a437112a38ce0fc450545ee; ixigua-a-s=3; tt_scid=1dUcS4.jRDZttN7D2Mj2aezppJtFVPiFnttxX.A4p7a8o9.v85F6N1VAl.xgFDgD4c05; ttwid=1%7CiWx9zpr2eLSL5pxwfW7PdpTasAnL2Tszm5jFlS0A_ac%7C1690201063%7Ce36e5a1293adc2f5cb3316c408d926dfbf96fcf8b1933005de1c70450765f876; msToken=jPo5YDrt9Tzb3bXRF5fFnXnlaq0Q5JjYKMlzmxLEmT6p-KpwVZuAj4n6gXP6WZoHnaoabF2-euxN7Y82SAXiqUNXT4JdGmPnfNNnMOLxpLtLaFHH8ZMBrfFMSQaZkIA=; __ac_nonce=064be706400f04dd1b96c; __ac_signature=_02B4Z6wo00f01ufp4JQAAIDDhOMg.Npar27nyeQAAN1RLyxEx.ItDdc-ILcgenQFX8wZXjKcWAfDm9KGv9O75jwmTyHu1ERnFIrkMt5iAhHS99qV2xtI.ladx9ZjWGvQgsEp10CW-CPIgI0f56; __ac_referer=https://www.ixigua.com/7258418700380799499?logTag=9b34beaa8f46169ebe1d',
'Referer': 'https://www.ixigua.com/7258418700380799499?logTag=9b34beaa8f46169ebe1d',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
}
请求链接
url = 'https://www.ixigua.com/7258418700380799499?logTag=9b34beaa8f46169ebe1d'
先访问到 https://www.ixigua.com/7258418700380799499?logTag=9b34beaa8f46169ebe1d
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
response = requests.get(url, headers=headers)
从这个里面获取到网页源代码
- 解决乱码: 找到 charset=“utf-8”
response.encoding = "utf-8"
html_data = response.text
将网页源代码当中我们所需要的(base64编码的)链接取出来
正则表达式
.*?: 替代任意字符多次
4k.*?main_url":".*?" 搜索功能的高级用法
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
mainUrl = re.findall('4k.*?main_url":"(.*?)"', html_data)[0]
# print(mainUrl)
将链接转换为正常的链接
video_url = base64.b64decode(mainUrl).decode()
print(video_url)
保存视频
resp = requests.get(video_url, headers=headers)
open('1.mp4', mode='wb').write(resp.content)
尾语
最后感谢你观看我的文章呐~本次航班到这里就结束啦 🛬
希望本篇文章有对你带来帮助 🎉,有学习到一点知识~
躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。
文章来源:https://blog.csdn.net/python56123/article/details/134880739
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!