{"id":13421881,"url":"https://github.com/chaychan/TouTiao","last_synced_at":"2025-03-15T10:31:29.539Z","repository":{"id":37663059,"uuid":"97575211","full_name":"chaychan/TouTiao","owner":"chaychan","description":"精仿今日头条","archived":false,"fork":false,"pushed_at":"2022-11-09T03:41:14.000Z","size":116213,"stargazers_count":1807,"open_issues_count":13,"forks_count":583,"subscribers_count":50,"default_branch":"master","last_synced_at":"2024-10-27T22:28:10.090Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chaychan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-07-18T08:42:40.000Z","updated_at":"2024-10-26T07:32:19.000Z","dependencies_parsed_at":"2022-07-09T10:16:21.974Z","dependency_job_id":null,"html_url":"https://github.com/chaychan/TouTiao","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chaychan%2FTouTiao","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chaychan%2FTouTiao/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chaychan%2FTouTiao/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chaychan%2FTouTiao/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chaychan","download_url":"https://codeload.github.com/chaychan/TouTiao/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243719031,"owners_count":20336591,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T23:00:33.354Z","updated_at":"2025-03-15T10:31:26.905Z","avatar_url":"https://github.com/chaychan.png","language":"Java","funding_links":[],"categories":["实战项目","客户端","Flutter 程序"],"sub_categories":["高仿App项目","网络服务_其他"],"readme":"# 精仿今日头条\n\n精仿今日头条，数据是抓取今日头条App的数据。使用RxJava + Retrofit + MVP开发的开源项目，仅供学习用途。觉得对你有帮助的话请帮忙star一下，让更多人知道，多谢啦！\n\n### 2022-11-09\n\u0026emsp;\u0026emsp;近期有个小伙伴向我反馈项目下下来后编译出错，愿意付费希望我解决下，今天抽空把问题解决了下，希望可以帮到他，当然也是无偿的，这个\n项目从17年到现在已经5年了，很高兴还可以帮到一些刚入门的安卓朋友或者参考开发的朋友，由衷感谢大家支持和Star。\n\n### 2019-12-02\n\u0026emsp;\u0026emsp;时间过得真快，不知不觉就过了一年，去年年底我更新了视频解析的逻辑，然后一直用到前段时间，有小伙伴issue上提出又不能解析了。由于前段时间比较忙，一直没能腾出时间来解决这个问题，上周末通过分析，发现以往解析视频的逻辑已经用不了了，所以重新找了个可以解析头条视频的网站，并分析到了他们的解析接口规则，修复了视频播放的问题，小伙伴们可以用作交流，讨论下，但不可用作商用，主要有以下两点原因：\n\n- 调用解析接口并未获得该网站的同意，属于非正常渠道获取，仅用于学习交流\n\n- 该网站可能变动接口规则，如果真的有解析视频方面的需求，可以和该网站联系和合作\n\n\n### 2018-12-04 更新内容：  \n\u0026emsp;\u0026emsp;项目已经发布很久了，最近看到有不少小伙伴帮我star，想想自己已经好久没有维护这个项目了，主要是因为忙，最近抽空把issue上提出的问题解决了，方便需要参考到其中某些功能的小伙伴使用，同时也希望这个项目可以成为我在github上首个star破k的项目，希望小伙伴们可以帮忙star一下，多谢了，项目的话我也会继续维护和更新。\n    \n- 更改右滑关闭的依赖库，解决8.0以上系统不兼容右滑的问题；\n\n- 修改视频解析逻辑，之前通过加载详情页成功后延迟5秒获取html中的video标签内的视频地址，体验极差，故花了几天时间寻找解析头条视频地址的方法，经过多次实验终于成功；\n\n- 解决视频播放错乱的问题；更换了最新版的饺子播放器；    \n\n- 整理项目结构，包的路径等 \n\n\n\n# Apk下载地址\n\n[[点击下载体验](https://raw.githubusercontent.com/chaychan/TouTiao/master/apk/news.apk)]\n\n扫码下载体验：\n\n![](https://raw.githubusercontent.com/chaychan/TouTiaoPics/master/screenshot/apk_qrcode.png)  \n\n# Blog\n[http://blog.csdn.net/chay_chan/article/details/75319452](http://blog.csdn.net/chay_chan/article/details/75319452)\n\n\n# 演示截图\n\n## 首页\n![](https://raw.githubusercontent.com/chaychan/TouTiaoPics/master/screenshot/home.jpg)  \n\n## 视频\n![](https://raw.githubusercontent.com/chaychan/TouTiaoPics/master/screenshot/video.jpg)  \n\n## 微头条\n![](https://raw.githubusercontent.com/chaychan/TouTiaoPics/master/screenshot/micro.jpg)  \n\n## 我的\n![](https://raw.githubusercontent.com/chaychan/TouTiaoPics/master/screenshot/mine.jpg)  \n\n\n# gif图\n\n## 新闻列表、视频列表\n![](https://raw.githubusercontent.com/chaychan/TouTiaoPics/master/screenshot/main.gif)  \n\n## 非视频新闻详情页面\n![](https://raw.githubusercontent.com/chaychan/TouTiaoPics/master/screenshot/text_detail.gif)  \n\n## 查看和保存图片 \n![](https://raw.githubusercontent.com/chaychan/TouTiaoPics/master/screenshot/watch_save_img.gif)  \n\n## 视频播放、视频详情页面\n![](https://raw.githubusercontent.com/chaychan/TouTiaoPics/master/screenshot/video_detail.gif)  \n\n\n# 使用到的第三方库\n* [okhttp](https://github.com/square/okhttp)\n* [Retrofit](https://github.com/square/retrofit)\n* [RxJava](https://github.com/ReactiveX/RxJava)\n* [ButterKnife](https://github.com/JakeWharton/butterknife)\n* [Gson](https://github.com/google/gson)\n* [BottomBarLayout(轻量级底部导航栏)](https://github.com/chaychan/BottomBarLayout)\n* [BaseRecyclerViewAdapterHelper(ReclerView万能适配器)](https://github.com/CymChad/BaseRecyclerViewAdapterHelper)\n* [StateView(用于几种状态布局的切换)](https://github.com/nukc/StateView)\n* [JieCaoVideoPlayer，改名 JiaoZiVideoPlayer (视频播放)](https://github.com/lipangit/JiaoZiVideoPlayer)\n* [BGARefreshLayout-Android(下拉刷新)](https://github.com/bingoogolapple/BGARefreshLayout-Android)\n* [Eyes(修改状态栏颜色)](https://github.com/imflyn/Eyes)\n* [ColorTrackTabLayout](https://github.com/yewei02538/ColorTrackTabLayout)\n* [EventBus](https://github.com/greenrobot/EventBus)\n* [KLog(log管理)](https://github.com/ZhaoKaiQiang/KLog)\n\n# 现有功能\n\n1.获取各种频道的新闻列表,包括视频和非视频新闻；\n\n2.查看新闻详情，包括视频和非视频新闻的详情；  \n\n3.查看新闻评论列表； \n\n4.新闻数据本地存储，已经获取到的新闻数据保存在本地数据库中，上拉加载更多时可查看历史新闻；\n\n5.底部页签点击下拉刷新;\n\n6.视频列表播放中的视频不可见时停止播放。\n\n7.查看和保存图片。\n\n# 技术要点\n\n1.新闻数据的抓取和分析,使用fidder抓取，具体使用可参考下面的网址：\n\n[http://www.tuicool.com/articles/BJjQZf](http://www.tuicool.com/articles/BJjQZf)\n\n2.新闻列表多种Item布局的展示，使用的是我封装的MultipleItemRvAdapter，基于BaseRecyclerViewAdapterHelper封装，便于多布局条目的管理：\n\n[https://github.com/chaychan/MultipleItemRvAdapter](https://github.com/chaychan/MultipleItemRvAdapter \"https://github.com/chaychan/MultipleItemRvAdapter\")\n\n3.视频源地址的解析，请查看我写的博客 [今日头条最新视频解析方法](https://blog.csdn.net/Chay_Chan/article/details/84825807)\n\n# 声明\n这个属于个人开发作品，仅做学习交流使用，如用到实际项目还需多考虑其他因素如并发等，请多多斟酌。**诸位勿传播于非技术人员，拒绝用于商业用途，数据均属于非正常渠道获取，原作公司拥有所有权利。**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchaychan%2FTouTiao","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchaychan%2FTouTiao","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchaychan%2FTouTiao/lists"}