首页 > 其他分享 >喜马拉雅节目爬取

喜马拉雅节目爬取

时间:2024-04-14 12:46:04浏览次数:15  
标签:function 喜马拉雅 return 节目 subprocess 爬取 headers import

1. python部分:

喜马拉雅.py

# -*- coding:utf-8 -*-

# @Time : 2024/4/14 9:47
# @Author : 快乐的小猴子
# @Version :
# @Function : 爬取喜马拉雅节目数据
import requests
import subprocess
from functools import partial   # 专门用来固定参数的
subprocess.Popen = partial(subprocess.Popen, encoding = "utf-8")
import execjs
with open('喜马拉雅.js', 'r', encoding='utf-8') as f:
    json_data = f.read()

context = execjs.compile(json_data)
res = context.call('main')

url = 'https://www.ximalaya.com/revision/metadata/v2/channel/albums'
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",
    "Referer": "https://www.ximalaya.com/channel/p2/",
    "Xm-Sign": res
}
# print(headers)
# exit()
params = {
    "pageNum": 3,
    "pageSize": 50,
    "sort": 1,
    "metadata": "",
}
resp = requests.get(url, headers=headers, params=params)
print(resp.json())
2. JavaScript部分:

喜马拉雅.js

var u = function(t) {
    return ~~(Math['random']() * t)
}

let crypto = require('crypto');
function do_md5(e) {
    return crypto.createHash('md5').update(e.toString()).digest('hex');
}

function main() {
    var t, e, r, n = 0;
    // return n = false ? Date.now() : window.XM_SERVER_CLOCK || 0,
    return n = Date.now(),
    t = this['himalaya-'],
    e = n,
    r = Date['now'](),
    ("{" + t + e + "}(" + u(100) + ")" + e + "(" + u(100) + ")" + r)['replace'](/{([\w-]+)}/, (function(t, e) {
        return do_md5(e)
    }
    ))
};

console.log(main());

执行数据结果截图:
image

标签:function,喜马拉雅,return,节目,subprocess,爬取,headers,import
From: https://www.cnblogs.com/zczhaod/p/18133998

相关文章

  • 基于python数据爬取和可视化
    系统介绍本系统介绍了一个基于基于Python的电影数据爬取和可视化技术的研究和方案设计,采用Python语言和Django架构构建。通过网络爬虫爬取豆瓣电影评论数据,利用数据清洗和处理技术,建立了一个全面的电影信息数据库。使用Python中强大的数据处理库进行统计分析,常见的一些库panda......
  • 实战7_公众号爬取方式
    获取某公众号下面的所有文章一.分析公众号登录公众号首页-图文消息-超链接点开后再选择其他公众号并输入要搜索的公众号名,点击搜索出的公众号,下面便会显示公众号下的文章名二.获取链接两次请求1.获取公众号请求token值是变化的fakeid是下次请求要用到的数据2.获......
  • python爬取京东商品信息与可视化
    项目介绍:使用python爬取京东电商拿到价格、店铺、链接、销量并做可视化...........................................................................................................................................................项目介绍效果展示全部代码..............
  • C语言高效的网络爬虫:实现对新闻网站的全面爬取
    1.背景搜狐是一个拥有丰富新闻内容的网站,我们希望能够通过网络爬虫系统,将其各类新闻内容进行全面地获取和分析。为了实现这一目标,我们将采用C语言编写网络爬虫程序,通过该程序实现对news.sohu.com的自动化访问和数据提取。2.网络爬虫系统设计2.1网络请求与响应处理......
  • 通过selenium框架爬取图片
    通过selenium框架爬取图片环境搭建搭建python环境就不在此展开了,首先安装selenium框架:pipinstallselenium下载浏览器驱动,此处仅仅以Chrome浏览器为例子,驱动版本必须与当前系统安装的Chrome对应。chromedriver下载,如果找不到对应版本,是因为版本太新,需要到此链接找到......
  • scrapy框架之CrawlSpider全站爬取
    一、什么是全站爬取全站爬取(CrawltheEntireSite)是指通过网络爬虫程序遍历并获取一个网站上的所有页面或资源的过程。这种爬取方式旨在获取网站的全部内容,包括文本、图片、视频、链接等,以建立网站的完整内容索引或进行数据分析。二、全栈爬取介绍1、全站数据爬取的方式(1)通过......
  • 如何爬取bcz的词汇
    如何爬取BCZ的四级/六级词汇声明:以下内容仅供学习参考,切勿滥用,滥用与本作者无关!一,安装Charles抓包工具步骤:打开Charles查看主机地址配置手机端代理(主机地址:端口)安装证书信任抓取测试抓取数据包解析数据包查看csv数据关于下载安装Charles,安装证书,配置......
  • 【爬虫】项目篇-selenium爬取大鱼潮汐网
    爬取指定日期的潮汐数据创建driver对象,并设为最大窗口url="https://www.chaoxibiao.net/tides/75.html"option=Options()option.binary_location=r"C:\Users\txmmy\AppData\Local\Google\Chrome\Application\chrome.exe"drvier=webdriver.Chrome(options=option......
  • 【爬虫】项目篇-使用selenium、requests爬取天猫商品评论
    目录使用selenium使用requests使用seleniumfromselenium.webdriverimportChrome,ChromeOptionsfromselenium.webdriver.support.waitimportWebDriverWaitfromselenium.webdriver.common.byimportByfromselenium.webdriver.supportimportexpected_conditionsasE......
  • 【爬虫】项目篇-爬取豆瓣电影周榜Top10,保存至Redis
    写法一:编写两个爬虫程序文件:爬虫1将豆瓣一周口碑榜的电影url添加到redis中名为movie_url的列表中(注意避免多次运行导致重复的问题);爬虫2从movie_url中读出网址,爬取每一部电影的导演、主演、类型、制片国家/地区、语言、上映日期、片长,并将它们保存到redis的hash表(自行命名)中。d......