Giter Club home page Giter Club logo

node-crawler's Introduction

rust vuejs nodejs webpack orm

声明

这套API设计初衷只是为了继续学习更多的Node.js爬虫知识,为了所谓的动力所以将目标定为了某些不可描述的网站(男人都懂)。可供个人技术学习,但是请勿随意分享传播给其他人或者第三方。

同时请期待本人正在开发基于这套Node.js后端接口的 App,将同后端爬虫一到开源。

请勿传播,本人不承担任何的后果,如有意见请联系本人。

觉得不错,请给本项目一个 start,感谢CCTV

注意事项:


  • 请求方式GET,URL地址栏传递参数即可!
  • 根据第三方xo网站URL规则分析得出每页只展示24条数据,前端可以自增page字段获取更多页数据
  • 需要注意当接口中传输的参数不在后端参数规则列表中时,后端默认返回首页数据
  • 后端爬虫加载**的第三方网站解析数据存在2~3秒等待时间,前端做好loading
  • 视频资源因为在美国第三方托管商那,所以播放视频需要Vpn翻墙(有的则不需要)。后期APP上线时本人会部署一台自己的VPN服务器,以供浏览视频使用。

实现功能:


  • 首页栏目 -- 完成
  • 推荐栏目 -- 完成
  • 最好栏目 -- 完成
  • 更多栏目 -- 完成
  • 最新栏目 -- 完成
  • 推荐标签 -- 完成
  • 获取下载地址 -- 完成
  • 模拟登录后实现搜索抓取 -- 正在努力中!
  • 搭建VPN服务器 -- 正在建设中!

数据格式


Node.js后端爬虫返回的数据格式如下,status 字段用于标志网络请求是否成功的返回码,前端可根据此字段的返回数值判断执行对应操作。result 字段为请求到的视频数据集合。

{
  status: 200, // 200:请求成功 ,404:请求失败
  result: [
    {
        title: "标题",
        url: "播放地址(已集成第三方播放器)",
        img: "缩略图地址",
        time: "时长",
        hot: "关注度"
    },
    .....
  ]
 }

API接口

按照栏目分类共有以下接口,请遵循接口字段传递规范。

首页


接口: http://106.14.145.68:18080/api/v1.0/default?page=1&state=index

字段:

  • page:需要获取的第几页数据
  • index:首页栏目

推荐


接口: http://106.14.145.68:18080/api/v1.0/default?page=1&state=hot

字段:

  • page:需要获取的第几页数据
  • hot:推荐栏目

最好


接口: http://106.14.145.68:18080/api/v1.0/default?page=1&state=best

字段:

  • page:需要获取的第几页数据
  • best:最好栏目

更多:


接口: http://106.14.145.68:18080/api/v1.0/default?page=1&state=more

字段:

  • page:需要获取的第几页数据
  • more:更多栏目

最新:


接口: http://106.14.145.68:18080/api/v1.0/default?page=1&state=created

字段:

  • page:需要获取的第几页数据
  • created:最新栏目

推荐标签:


接口: http://106.14.145.68:18080/api/v1.0/default?page=页数&state=tag&tagid=标签ID

字段:

  • page:页数
  • tag:表示为标签栏目
  • tagid:标签栏目的具体ID,可参照下文默认标签传入ID

默认提供标签:

图片中tag_id=xx,其中数字xx就是接口需要传入的ID参数,本人太懒所以直接截图了!

场景类(9条):

场景类


角色类(19条):

角色类


国家类(10条):

国家类


部位类(8条):

部位类


行为类(17条):

行为类

如何获取视频下载地址?


打开任意接口,得到后端返回的数据,然后点击其实url字段的数值播放视频,谷歌浏览器Ctrl + U查看网页源码,在script脚本代码中找到如下代码:

 clip: {
        sources: [
            	            	{ type: "application/x-mpegurl", src:"http://cdn.looklook.space/videos/1/154177/154177.240p.m3u8?v=1.1" }
            	        ]
    }

sources数组中src字段数值http://cdn.looklook.space/videos/1/154177/154177.240p.m3u8?v=1.1即是视频m3u8地址!根据m3u8规范,我们可以复制地址到浏览器地址栏,将地址后缀m3u8改成ts

例如:http://cdn.looklook.space/videos/1/154177/154177.240p.ts?v=1.1 ,回车即可实现视频下载,绕过网站会员直接下载视频。

License

MIT

Copyright (c) 2017-present, Bmy Code

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.