nodejs cytoid试听

使用nodejs axios cheerio模块 爬取cytoid.io 关卡音频
localhost:8888

var axios = require("axios");
var cheerio = require('cheerio');
var http = require('http');
var util = require('util');
var fs = require('fs');
var moment = require('moment'); 
var formidable = require('formidable'); 
var util = require('util'); 
const { Script } = require("vm");

jquery=fs.readFileSync('+/jquery-3.6.0.min.js');
var current_time =  moment(Date.now()).format('YY MMDD HH');  //YY MMDD HHmm:ss


pagenumber=fs.readFileSync('page.txt');
axios.get('https://cytoid.io/levels?sort=creation_date&order=desc&category=all&page='+pagenumber+'').then(resp => {
    var $ = cheerio.load(resp.data)
    var lis = $(".container .content-card")
    var patt1=/https(.*?)w=576/g;
    repos=[]
    for (var i = 0; i < lis.length; i++) {
        li = lis.eq(i)
        repo={
        zhuzhe:li.find("h2").text().trim(),
        gequming:li.find("h1").text().trim(),
        gequwangzhi: li.find("div a").attr("href").trim(),
        yinpin:li.find("audio").attr("src").trim(),
        fengmian:li.find(".content-card-bg").attr("style").trim().match(patt1),
             }
        repos.push(repo)
    }
    console.log(repos)
})



http.createServer(function (req, response) {

response.setHeader('Content-Type','text/html;charset=utf-8');
response.write("<!DOCTYPE HTML>");
response.write('<title>'+pagenumber+'page'+current_time+'</title>');
response.write("<html>");
response.write('<body οnkeydοwn="kyjx(event)">');
response.write('<script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>');
response.write('<script>'+jquery+'</script>');

response.write('<style>a {opacity:0.1;text-decoration:none;}h1{margin:0px}</style>');
//IP查看
response.write('<script>fetch("http://ip-api.com/json/") .then(function(response) {return response.json();}).then(function(data) {');
response.write('$("#iphh").html("IP:"+data.query+"  国家:"+data.country+"  地区:"+data.city)');
response.write('});</script>');
response.write('<h1 id="iphh"></h1>');
response.write('<form action="http://localhost:8888/page" method="GET"><input type="text" name="textpage"/><input type="submit" value="跳转"></form>');
response.write('<script>function stopall(){$("#music0")[0].pause();$("#music1")[0].pause();$("#music2")[0].pause();$("#music3")[0].pause();$("#music4")[0].pause();$("#music5")[0].pause();$("#music6")[0].pause();$("#music7")[0].pause();$("#music8")[0].pause();$("#music9")[0].pause();$("#music10")[0].pause();$("#music11")[0].pause();$("#music12")[0].pause();$("#music13")[0].pause();$("#music14")[0].pause();$("#music15")[0].pause();$("#music16")[0].pause();$("#music17")[0].pause();$("#music18")[0].pause();$("#music19")[0].pause();$("#music20")[0].pause();$("#music21")[0].pause();$("#music22")[0].pause();$("#music23")[0].pause();}</script>')
for (var k=0;k<24;k++){
response.write('<div id="div'+k+'" style="width:min-content;    text-align:center;    padding-top:0px; padding-bottom:125px; margin: 0 auto;">    <a href="https://cytoid.io'+repos[k].gequwangzhi+'"  target="_blank" >_____________________________________________________________</a>'); //新建标签打开
response.write('<br><audio id="music'+k+'" type="audio/mpeg" controls="" src="'+repos[k].yinpin+'" style="visibility:hidden;margin-top:40px;margin-bottom:-10px"></audio>'); 
response.write('<h1 οnclick="mouseclick'+k+'()">'+repos[k].gequming+'</h1>'); //标题
response.write('<br>');
//visible

response.write('<script>function audioplay'+k+'(){ $("audio").css("visibility","hidden");  stopall(); $("#music'+k+'")[0].play(); }</script>')
response.write('<script>function mouseclick'+k+'(){ $("audio").css("visibility","hidden"); $("#music'+k+'").css("visibility","visible");}</script>')

//这里<a class="mark" href="#class-fsstats" id="class-fsstats">#</a>
response.write('<img src="'+repos[k].fengmian+'" οnclick="audioplay'+k+'()"  style="height:720px; margin:0 auto;">');
//response.write('<div style="'+repos[k].fengmian+' height:360px; width:576px;background-size:cover" οnclick="audioplay'+k+'()"  >');
response.write('</div>');
response.write('<br>');
//response.write('<script>function audioplay'+k+'(){$("#audio").attr("src", "'+repos[k].yinpin+'");$(".audioclass")[0].pause();$("#audio")[0].play();}</script>')
}

response.write('<Script> i=0; function kyjx(event){var x=event.key;if(x=="ArrowLeft"){i--;window.location.href= "#div"+i;eval("audioplay"+i+"()");console.log(i)} else if(x=="ArrowRight"){i++;window.location.href="#div"+i;eval("audioplay"+i+"()");console.log(i);}}</Script>')

response.write("</body>");
response.write("</html>");
response.end("")



if(req.url.includes("textpage") && req.method==="GET"){
    var str=req.url.split('textpage=')
    console.log(str[1])
		fs.writeFileSync("./page.txt", str[1],{ flag: "w+" })

        pagenumber=fs.readFileSync('page.txt');
        axios.get('https://cytoid.io/levels?sort=creation_date&order=desc&category=all&page='+pagenumber+'').then(resp => {
            var $ = cheerio.load(resp.data)
            var lis = $(".container .content-card")
            var patt1=/https(.*?)w=576/g;
            repos=[]
            for (var i = 0; i < lis.length; i++) {
                li = lis.eq(i)
                repo={
                zhuzhe:li.find("h2").text().trim(),
                gequming:li.find("h1").text().trim(),
                gequwangzhi: li.find("div a").attr("href").trim(),
                yinpin:li.find("audio").attr("src").trim(),
                fengmian:li.find(".content-card-bg").attr("style").trim().match(patt1),
                     }
                repos.push(repo)
            }
            console.log(repos)
        })


    };

}).listen(8888);




请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值