【源码】爬虫---西瓜视频

2023-10-30

1、瀑布流获取

import requests
import json
import time
import math
import hashlib
import re
import random
from zlib import crc32
from bs4 import BeautifulSoup

#61887739373 影视
#6797027941 推荐
def get_url(channelId = '6797027941'):
    url = 'https://www.ixigua.com/api/feedv2/feedById?&channelId={}&count=18&maxTime='.format(channelId)
    print(url)
    return url

tt_webid = ""

def get_item(url):
    headers = {'user-agent':"Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Mobile Safari/537.36"}
    resp = requests.get(url, headers = headers, cookies = '')
    wbdata = resp.content
    wbdata2 = json.loads(wbdata.decode('utf-8'))
    
    data1 = wbdata2['data']
    channelFeed = data1['channelFeed']
    BaseResp = channelFeed['BaseResp']
    if BaseResp['StatusMessage'] == 'error':
        return 0
    
    data = channelFeed['Data']
    for news in data:
        title = news['videoTitle']
        news_url = news['videoId']
        news_url = "https://www.ixigua.com/i"+news_url
        writer("bbb.txt", title, news_url)

        print(title,news_url)
        getinfo(news_url)
        time.sleep(1)
    return

#写文件
def writer(filename, content, source='', time='', tags=''):
    write_flag = True
    with open(filename, 'a', encoding='utf-8') as f:
        f.write('内容:'+'\n')
        f.writelines(content)
        f.write('\n\n')
        f.write('作者:'+source + '\n')
        f.write('时间:'+time + '\n')
        f.write('标签:'+tags + '\n')
        f.write('------------------------分割线------------------------'+'\n\n')

def getinfo(video_id):
    return

def main(refresh = 10):
    for x in range(0,refresh+1):
        print("{0}".format(x))
        url = get_url()
        get_item(url)

if __name__ == '__main__':
    main()

2、详情url获取

# coding:utf8
#参考:https://www.jianshu.com/p/6ca1344a09db
import re
import requests
import random
from zlib import crc32
from base64 import b64decode

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTHL, like Gecko) Chrome/66.0.3359.181 Safari/537.36",
}
    
def get_video_url_api(video_id='v02004190000bjqdaaq0ifkkoafl5rg0'):
    '''取视蘋地iff所在包的uri'''
    r = str(random.random())[2:]
    url_part = "/video/urls/v/l/toutiao/mp4/{}?r={}".format(video_id, r) 
    s = crc32(url_part.encode())
    url = "https://ib.365yg.com{}&s={}".format(url_part,s) 
    return url

def get_video_url(url):
    #获取视频地址
    resp = requests.get(url, headers=headers) 
    j_resp = resp.json()
    video_url = j_resp['data']['video_list']['video_1']['main_url'] 
    video_url = b64decode(video_url.encode()).decode() 
    return video_url

def get_video_id(url):
    #获取视频id
    resp = requests.get(url, headers=headers)
    # 获取video_id
    #print(resp.text)
    search = re.search("\"vid\":\"([^\"]+)\",", resp.text)
    print(search.group(1))
    return search.group(1)

def main():
    url = "https://www.ixigua.com/i6705550728884142600/" 
    video_id = get_video_id(url)
    if video_id == None: 
        print("get video_id error")
        return
    video_url_api = get_video_url_api(video_id)
    print(video_url_api.encode())
    video_url = get_video_url(video_url_api)
    print(video_url)
    return

if __name__ == '__main__':
    main()

结束语

以上就是全部源码,希望对你有用。欢迎大家关注我们微信公众号,来交流程序员的技术。如果能留言或者点个赞,我也是很开心的,非常感谢!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【源码】爬虫---西瓜视频 的相关文章

随机推荐

  • STL常见问题

    vector vector中 reserve 函数 预先分配一块较大的指定大小的内存空间 其中n为分配空间的大小 预留一定的空间 如果n lt capacity 并不会减少空间 void reserve size type n if cap
  • Swagger配置使用

    Maven包
  • 管理后台项目-04-SPU列表-增删改SPU-获取SKU【续】

    目录 1 删除spu 2 添加sku 2 1 获取skuForm页面组件的数据 2 2 收集form表单数据 2 3 保存提交数据 3 查看SKU信息和loading效果 上一篇文章管理后台项目 03 SPU列表 增删改SPU 获取SKU
  • Python安装第三方包并导入pycharm或idea项目中

    目录 方法 一 找到python安装路径 二 利用cmd下载第三方包 例如 我现在要在项目中使用numpy这个第三方包 三 找到项目的包路径 四 将下载好的包复制进项目包路径 在python的使用中 我们往往要使用到第三方包 所以怎样下载安
  • 2022 第五届大学生计算机技能应用大赛(python科目初赛题库答案)

    仅供参考学习 侵权可删 1 下列代码运行结果是 1 a map lambda x x 3 1 2 3 2 list a 正确答案 C A 1 6 9 B 1 12 27 C 1 8 27 D 1 6 9 2 在 Python3 中 下列程序
  • SQL注入攻击原理及防护方案

    SQL注入攻击是对web应用程序最常见的攻击之一 它是一种恶意攻击 攻击者在向数据库服务器发送查询请求时 会在查询语句中添加恶意代码 从而对服务器造成损害 SQL注入攻击的目的是破坏服务器的安全性 通过恶意查询访问数据库服务器中的敏感数据
  • 新加坡大学计算机博士专业简介,关于选拔推荐新加坡国立大学计算机学院博士生的紧急通知...

    根据我院与SoC NUS 新加坡国立大学计算机学院 有关协议和对方明年的安排 本学年我院将向对方推荐1名攻读博士学位研究生 现就有关事项通知如下 我院计算机或信息专业12级本科生 具备下列条件者 可提交个人申请 1 本人有志于到对方攻读相关
  • 嵌入式毕设项目 基于Stm32的家庭智能监控系统 - 单片机 图像识别 人体检测 AI

    hr style border solid width 100px height 1px color 000000 size 1 quot 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到
  • 主对角线打印二维数组---美团点评2016研发工程师编程题(二)

    编程题 二维数组打印 有一个二维数组 n n 写程序实现从右上角到左下角沿主对角线方向打印 给定一个二位数组arr及题目中的参数n 请返回结果数组 测试样例
  • ahut 周赛3

    A gzm判试卷 AhutOj 线段树 注意 一定要开到4 N 不然会RE 单点更新 求区间最值 单点更新不需要懒标记 区间修改是大量的点 需要懒标记 AC代码 include
  • 无需依赖Adobe Acrobat,在Java中进行PDF格式转换全新攻略

    将文档从一种格式转换为另一种格式是Spire PDF的主要功能之一 这种转换只不过是加载和保存操作的组合 因此 使用Spire PDF可以将文档从任何受支持的加载格式转换为任何受支持的保存格式 本文整理了包括在Java中以下文件格式的转换指
  • GNN、GCN、GAT图卷积神经网络学习

    一 GNN GNN能干什么 二 GCN 在GNN的基础上 GCN要解决的是一个什么问题呢 以求Xi的平均工资为例 更新后的节点信息 邻居节点的信息N 自身节点的信息 但是A只与B关联 B与很多节点关联 当计算A的平均工资时 按照上面的公式把
  • 4_makefile文件,gdb调试

    4 makefile文件 gdb调试 文章目录 4 makefile文件 gdb调试 1 makefile文件 2 gdb调试 4 makefile文件 gdb调试 1 makefile文件 依赖文件makefile操作 管理 自动化的编译
  • 安装与卸载pytorch

    目录 安装pytorch 方法一 安装pytorch 方法二 推荐 安装torchvision 查看当前pytorch版本 卸载pytorch 安装pytorch 方法一 运行以下命令 可将清华镜像添加至Anaconda仓库中 conda
  • Agents探索实践:自动写文章机器人

    最近几个周末都在写一个自动生成文章的机器人 经过上线实验之后 我的总结如下 1 基于Agents对业务流进行重构就是AI垂直应用的壁垒 2 Prompt的壁垒在于对业务关键环节的重构 可拆解为Role Goal Skill Constrai
  • 1.3.8 手写数字识别之动转静部署

    动静转换 动态图有诸多优点 比如易用的接口 Python风格的编程体验 友好的调试交互机制等 在动态图模式下 代码可以按照我们编写的顺序依次执行 这种机制更符合Python程序员的使用习惯 可以很方便地将脑海中的想法快速地转化为实际代码 也
  • 飞控调试_基于STM32F103开发的飞控系统设计(原理图+PCB+飞控源码)

    飞控是软件和硬件的集合体 没有了硬件或者软件都是不可以 但是上位机就不一样了 这只是一个调试的阶段 或者后期的美化阶段 没有了上位机我们照样可以使用 飞机也照样在天上飞行的 首先我们需要做的硬件设计 其中包括处理器 惯导模块 电源模块等 每
  • Webpack Sourcemap文件泄露漏洞

    Webpack Sourcemap文件泄露漏洞 前言 一 Webpack和Sourcemap 1 1 什么是Webpack 1 2 什么是Sourcemap 二 漏洞利用 2 1 使用reverse sourcemap工具 2 1 直接看前
  • 【教程】如何在标签打印工具TFORMer Designer中自定义布局?

    TEC IT的在线标签生成器TFORMer Designer提供标签打印服务 并提供即用型行业标签模板作为Web服务 使用此软件 您可以在几秒钟内创建您自己的标签和表格或在工业和物流业中使用即时可用的模板 TFORMer Designer的
  • 【源码】爬虫---西瓜视频

    1 瀑布流获取 import requests import json import time import math import hashlib import re import random from zlib import crc3