前言

大家早好、午好、晚好吖 ❤ ~

又是我,我又来采集小姐姐啦~

这次我们采集的网站是(看下图):

本文所有模块\环境\源码\教程皆可点击文章下方名片获取此处跳转

话不多少,我们赶快开始吧~

第三方模块:

requests >>> pip install requests

如果安装python第三方模块:

win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车 在pycharm中点击Terminal(终端) 输入安装命令

环境介绍:

python 3.8 解释器 pycharm 编辑器

如何配置pycharm里面的python解释器?

选择file(文件) >>> setting(设置) >>> Project(项目) >>> python interpreter(python解释器) 点击齿轮, 选择add 添加python安装路径

pycharm如何安装插件?

选择file(文件) >>> setting(设置) >>> Plugins(插件) 点击 Marketplace 输入想要安装的插件名字 比如:翻译插件 输入 translation / 汉化插件 输入 Chinese 选择相应的插件点击 install(安装) 即可 安装成功之后 是会弹出 重启pycharm的选项 点击确定, 重启即可生效

代码展示

导入模块

import requests

import re

import json

import base64

模拟伪装

headers = {

'cookie': 'support_webp=true; support_avif=true; csrf_session_id=76ceeb6d60b0fcd804de9be6e9693c54; s_v_web_id=verify_lefmeh66_SLWSXhCD_aZkd_4NEx_BgaI_hGUNbdQrHIpi; MONITOR_WEB_ID=56b4a269-39b6-4147-ab7c-9195b568c5e8; _tea_utm_cache_2018=undefined; passport_csrf_token=1a7dd3b7b20888e47197ea1d942e17d5; passport_csrf_token_default=1a7dd3b7b20888e47197ea1d942e17d5; passport_auth_status=121a29188cf1b9ecf308efbe3d0920c5%2C; passport_auth_status_ss=121a29188cf1b9ecf308efbe3d0920c5%2C; sid_guard=d75c6025dd5f4e3d658be37aad5f91b5%7C1677067151%7C3024000%7CWed%2C+29-Mar-2023+11%3A59%3A11+GMT; uid_tt=2f228913ef6379e66da0c3399feaa580; uid_tt_ss=2f228913ef6379e66da0c3399feaa580; sid_tt=d75c6025dd5f4e3d658be37aad5f91b5; sessionid=d75c6025dd5f4e3d658be37aad5f91b5; sessionid_ss=d75c6025dd5f4e3d658be37aad5f91b5; sid_ucp_v1=1.0.0-KGQ4Nzc4MjZiYWI1NWRmYTg5YjQyYmMyZjhmYjY1OWYyYzQzMDUyOGEKFAjo5IrYFxCPh9ifBhgYIAw4CEAFGgJobCIgZDc1YzYwMjVkZDVmNGUzZDY1OGJlMzdhYWQ1ZjkxYjU; ssid_ucp_v1=1.0.0-KGQ4Nzc4MjZiYWI1NWRmYTg5YjQyYmMyZjhmYjY1OWYyYzQzMDUyOGEKFAjo5IrYFxCPh9ifBhgYIAw4CEAFGgJobCIgZDc1YzYwMjVkZDVmNGUzZDY1OGJlMzdhYWQ1ZjkxYjU; __ac_nonce=063f604bf003948a3bad9; __ac_signature=_02B4Z6wo00f01SciCjgAAIDARCjKUZOPEREnAg6AACpBKsMzhMS3tmVlQF6xo9y4lk1.8f3BOblIBNOWtyn2ZteVVEle52JVejsr-gjz52x7fFDNHLhhWPSptiT342agtlzTUnp1SO2LBVZxb3; ixigua-a-s=3; odin_tt=5529039b6eb72ae52e2705d0db550fc06655c83bdbe61914be61c42152989c387a55ad2fa056636bfd1f880a86407f88; tt_scid=ORPDc-M6KS5eOmTgjaUrefaIL0yzO7y.HdHVQAZXahd0wmCZXjYo6rBN9gfC3xYF3559; ttwid=1%7CiWx9zpr2eLSL5pxwfW7PdpTasAnL2Tszm5jFlS0A_ac%7C1677067476%7C2d4446661479733452a7b0217ff6d0c80645ddd3f9f9e85f43547870d43654da; msToken=cSgsxZfj-6sePYrKBxT8cLGTA9Fe4h9FVEyqx2na-t6-TyoXHDL3Q_CQIxRvs9MrWsKeXvTH9OeSdsfiVqYu48Qcw-sEg2hF6sThIHy2b9J1L2mNumIx',

'referer': '',

'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36'

}

请求链接

可修改成你想要下载

url = '网站你想采集的视频链接'

1. 发送请求

response = requests.get(url=url, headers=headers)

response.apparent_encoding: 不一定准确 自动识别编码方式

网页源代码当中, meta标签 网页源代码的前几行写到 charset="utf-8/gbk..."

2. 获取数据

response.encoding = "utf-8"

html_data = response.text

3. 解析数据 直接取链接

json_str = re.findall('window._SSR_HYDRATED_DATA=(.*?)', html_data)[0]

# 字典 undefined

json_str = json_str.replace('undefined', 'null')

json_data = json.loads(json_str)

video_list = json_data['anyVideo']['gidInformation']['packerData']['video']['videoResource']['normal']['video_list']

num = len(list(video_list.keys()))

main_url = video_list.get(f'video_{num}').get("main_url")

video_url = base64.b64decode(main_url).decode()

print(video_url)

video_data = requests.get(video_url, headers=headers).content

with open('1.mp4', mode='wb') as f:

f.write(video_data)

尾语 

好了,今天的分享就差不多到这里了!

完整代码、更多资源、疑惑解答直接点击下方名片自取即可。

有更多建议或问题可以评论区或私信我哦!一起加油努力叭(ง •_•)ง

喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!

最后,宣传一下呀~更多源码、资料、素材、解答、交流皆点击下方名片获取呀

相关文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。