autojs调用java的类库爬取bilibili视频弹幕内容,get请求方法值得学习

/**
 * @功能 爬取指定bilibili视频弹幕
 * @作者 家
 * @感谢 内个谁, ProjectXero
 * @难点 不会解压gzip和deflate,再次感谢上面两位大佬的帮助
 * @return 弹幕数组
 */
 //此代码由飞云脚本圈整理提供(www.feiyunjs.com)
runtime.loadJar('/sdcard/jsoup.jar')
importClass("org.jsoup.Jsoup")
importClass("java.io.IOException")
importClass("java.util.HashMap")
// importClass("org.jsoup.nodes.Document")
// importClass("org.jsoup.nodes.Element")
// importClass("org.jsoup.select.Elements")
importClass(java.io.FileInputStream);
importClass(java.util.zip.GZIPInputStream);
importClass("java.util.ArrayList")
importClass("java.io.DataInputStream");
importClass("java.io.DataOutputStream");
importClass("java.io.OutputStreamWriter");
importClass("java.io.BufferedWriter");
importClass('java.io.BufferedReader');
importClass('java.io.IOException');
importClass('java.io.InputStream');
importClass('java.io.InputStreamReader');
importClass('java.io.OutputStream');
importClass('java.io.BufferedOutputStream');
importClass('java.io.ByteArrayInputStream');
importClass('java.io.BufferedInputStream');
importClass('java.io.ByteArrayOutputStream');
importClass('java.io.PrintWriter');
importClass('java.io.FileOutputStream');
// importClass('java.io.StringBuffer');
importClass('java.io.File');
importClass('java.net.Socket');
importClass('java.net.UnknownHostException');
importClass("java.util.zip.CRC32")
importClass("java.util.zip.CheckedOutputStream")
importClass("java.util.zip.ZipEntry")
importClass("java.util.zip.ZipOutputStream")
importClass("java.util.zip.ZipFile")
importClass("java.util.zip.InflaterInputStream")
importClass("java.util.zip.Inflater")
var videoUrl = 'https://www.bilibili.com/video/av41925519?from=search&seid=4347458925007967861'
main(videoUrl)

function main(videoUrl) {
  var webPage = getWebPageGzip(videoUrl)
  var videoInfo = getVideoInfo(webPage)
  var oid = getOid(videoInfo)
  var barrageUrl = getBarrageUrl(oid)
  webPage = getWebPageDeflate(barrageUrl)
  var doc = Jsoup.parse(webPage);
  var barrage = getBarrage(doc)
  console.show()
  log(barrage)
}

function getOid(videoInfo) {
  return videoInfo.cid
}

function getVideoInfo(webPage) {
  var window__INITIAL_STATE__REG = /
                    
                    

你可能感兴趣的:(脚本源码)