123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- js:
- const douyin_cookie = "hiker://files/TyrantG/cookie/douyin.txt"
- // const slide_cookie = "hiker://files/TyrantG/cookie/douyin_slide.txt"
- const baseParse = _ => {
- let d = [], category, html
- let home_cookie = request(douyin_cookie)
- // let slide_d_cookie = request(slide_cookie)
- const empty = "hiker://empty"
- html = fetch("https://www.douyin.com", {headers:{"User-Agent": PC_UA, "cookie": home_cookie}, withHeaders: true})
- html = JSON.parse(html)
- // 首页cookie
- if (! home_cookie || ! home_cookie.match(/__ac_nonce/) || html.body.match(/<body><\/body>/)) {
- let cookie = html.headers["set-cookie"].join(';')
- writeFile(douyin_cookie, cookie.match(/__ac_nonce=(.*?);/)[0])
- }
- // 滑块验证
- if (html.body.match(/验证码/)) {
- d.push({
- title: '本地cookie失效, 请点击获取(需要过验证,15秒左右)',
- url: $(empty).lazyRule(_ => {
- const douyin_cookie = "hiker://files/TyrantG/cookie/douyin.txt"
- let current_cookie = request(douyin_cookie).match(/__ac_nonce=(.*?);/)[0]
- showLoading('自动验证中')
- let slide_cookie = fetch("http://student.tyrantg.com:8199/slide.php", {timeout: 30000})
- if(slide_cookie) writeFile(douyin_cookie, current_cookie+slide_cookie)
- hideLoading()
- refreshPage(true)
- return 'toast://验证成功'
- }),
- col_type: 'text_1'
- })
- } else {
- let current_page = MY_URL.split('##')[1].toString()
- let cate_select = getVar("tyrantgenesis.simple_douyin_web.cate_select", "")
- if (current_page === '1') {
- category = [
- {title: '全部', id: ''},
- {title: '娱乐', id: '300201'},
- {title: '知识', id: '300203'},
- {title: '二次元', id: '300206'},
- {title: '游戏', id: '300205'},
- {title: '美食', id: '300204'},
- {title: '体育', id: '300207'},
- {title: '时尚', id: '300208'},
- {title: '音乐', id: '300209'},
- ]
- category.forEach(cate => {
- d.push({
- title: cate_select === cate.id ? '‘‘’’<strong><font color="red">'+cate.title+'</font></strong>' : cate.title,
- url: $(empty).lazyRule(params => {
- putVar("tyrantgenesis.simple_douyin_web.cate_select", params.id)
- refreshPage(false)
- return "hiker://empty"
- }, {
- id: cate.id
- }),
- col_type: 'scroll_button',
- })
- })
- }
- // let not_sign_url = "https://www.douyin.com/aweme/v1/web/channel/feed/?device_platform=webapp&aid=6383&channel=channel_pc_web&tag_id="+cate_select+"&count=20&version_code=160100&version_name=16.1.0"
- let sign_url = fetch("http://douyin_signature.dev.tyrantg.com?type=feed¶ms="+cate_select)
- // let true_url = not_sign_url + "&_signature="+sign
- let data_json = fetch(sign_url, {
- headers: {
- "referer" : "https://www.douyin.com/",
- "cookie": home_cookie,
- "Accept": 'application/json, text/plain, */*',
- "User-Agent": PC_UA,
- "Accept-Language": 'zh-CN,zh;q=0.9',
- }
- })
- if (! data_json || data_json === 'Need Verifying') {
- d.push({
- title: 'signature 获取失败,待修复',
- col_type: "long_text",
- })
- } else {
- let list = JSON.parse(data_json).aweme_list
- if (list && list.length > 0) {
- list.forEach(item => {
- if (item.video && item.author) {
- d.push({
- title: item.desc,
- pic_url: item.video.cover.url_list[0],
- desc: item.author.nickname,
- url: $(empty).lazyRule(item => {
- return item.video.play_addr.url_list[0] + "#isVideo=true#"
- }, item),
- col_type: 'movie_2',
- })
- } else {
- //item.cell_room.rawdata.replace(/:([1-9]\d*),/g, ':"$1",')
- }
- })
- }
- }
- }
- setResult(d);
- }
- baseParse()
|