使用工具
- Python 3.7.0
- requests库
- re库
- base64库
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:101677771
由于之前没有这方面的项目经历,在网上查找资料后,这篇文章给了我灵感(原来西瓜视频上的Url是经过Base64加密的),那么是如何确定西瓜视频上的Url是经过Base64加密的呢?
- 这个字符串仅有64个字符(A~Z a~z + / )以及后缀=组成
- 将目标字符串解密后再将解密字符串加密回去与原来的值做比较如果相同就是Base64
import requests
import re
from base64 import b64decode, b64encode
url = 'https://www.ixigua.com/i6704446868685849092'
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36'
}
resp =requests.get(url=url, headers=headers)
ex = '''"main_url":"(.*?)"'''
def doCheck(source):
if bytes(source, encoding='utf-8') == b64encode(b64decode(source)):
return True
return False
if doCheck(re.findall(ex, resp.text)[0]):
print('该Url是Base64加密!!!')
else:
print('该Url不是Base64加密!!!')
import requests
import re
from base64 import b64decode, b64encode
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36'
}
url = 'https://www.ixigua.com/i6704446868685849092'
resp =requests.get(url=url, headers=headers)
ex = '''"main_url":"(.*?)"'''
def doCheck(source):
if bytes(source, encoding='utf-8') == b64encode(b64decode(source)):
return True
return False
def getVideoUrl(source):
return b64decode(source).decode('utf-8')
source =re.findall(ex, resp.text)[0]
if doCheck(source):
resp = requests.get(url=getVideoUrl(source), headers=headers)
with open('./Video.mp4', 'wb') as fp:
fp.write(resp.content)
else:
print('该Url不是Base64加密!!!')