Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chaychan/TouTiao
精仿今日头条
https://github.com/chaychan/TouTiao
Last synced: 3 months ago
JSON representation
精仿今日头条
- Host: GitHub
- URL: https://github.com/chaychan/TouTiao
- Owner: chaychan
- Created: 2017-07-18T08:42:40.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-11-09T03:41:14.000Z (about 2 years ago)
- Last Synced: 2024-07-31T23:39:48.422Z (6 months ago)
- Language: Java
- Size: 111 MB
- Stars: 1,803
- Watchers: 50
- Forks: 585
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- Awesome-GitHub-Repo - TouTiao - 高仿今日头条。[<img src="https://tva1.sinaimg.cn/large/008i3skNly1gxlhtmg11mj305k05k746.jpg" alt="微信" width="18px" height="18px" />](https://mp.weixin.qq.com/s?__biz=MzUxNjg4NDEzNA%3D%3D&chksm=f9a22354ced5aa42aacba53fd64ba7f3ec698e8c79c6e6b99bf129e8fbf4c1b19b8383f186a8&idx=1&mid=2247495837&scene=21&sn=fe40014844622add5516913ebdfe09f2#wechat_redirect) (实战项目 / 高仿App项目)
- StarryDivineSky - chaychan/TouTiao
README
# 精仿今日头条
精仿今日头条,数据是抓取今日头条App的数据。使用RxJava + Retrofit + MVP开发的开源项目,仅供学习用途。觉得对你有帮助的话请帮忙star一下,让更多人知道,多谢啦!
### 2022-11-09
近期有个小伙伴向我反馈项目下下来后编译出错,愿意付费希望我解决下,今天抽空把问题解决了下,希望可以帮到他,当然也是无偿的,这个
项目从17年到现在已经5年了,很高兴还可以帮到一些刚入门的安卓朋友或者参考开发的朋友,由衷感谢大家支持和Star。### 2019-12-02
时间过得真快,不知不觉就过了一年,去年年底我更新了视频解析的逻辑,然后一直用到前段时间,有小伙伴issue上提出又不能解析了。由于前段时间比较忙,一直没能腾出时间来解决这个问题,上周末通过分析,发现以往解析视频的逻辑已经用不了了,所以重新找了个可以解析头条视频的网站,并分析到了他们的解析接口规则,修复了视频播放的问题,小伙伴们可以用作交流,讨论下,但不可用作商用,主要有以下两点原因:- 调用解析接口并未获得该网站的同意,属于非正常渠道获取,仅用于学习交流
- 该网站可能变动接口规则,如果真的有解析视频方面的需求,可以和该网站联系和合作
### 2018-12-04 更新内容:
项目已经发布很久了,最近看到有不少小伙伴帮我star,想想自己已经好久没有维护这个项目了,主要是因为忙,最近抽空把issue上提出的问题解决了,方便需要参考到其中某些功能的小伙伴使用,同时也希望这个项目可以成为我在github上首个star破k的项目,希望小伙伴们可以帮忙star一下,多谢了,项目的话我也会继续维护和更新。
- 更改右滑关闭的依赖库,解决8.0以上系统不兼容右滑的问题;- 修改视频解析逻辑,之前通过加载详情页成功后延迟5秒获取html中的video标签内的视频地址,体验极差,故花了几天时间寻找解析头条视频地址的方法,经过多次实验终于成功;
- 解决视频播放错乱的问题;更换了最新版的饺子播放器;
- 整理项目结构,包的路径等
# Apk下载地址
[[点击下载体验](https://raw.githubusercontent.com/chaychan/TouTiao/master/apk/news.apk)]
扫码下载体验:
![](https://raw.githubusercontent.com/chaychan/TouTiaoPics/master/screenshot/apk_qrcode.png)
# Blog
[http://blog.csdn.net/chay_chan/article/details/75319452](http://blog.csdn.net/chay_chan/article/details/75319452)# 演示截图
## 首页
![](https://raw.githubusercontent.com/chaychan/TouTiaoPics/master/screenshot/home.jpg)## 视频
![](https://raw.githubusercontent.com/chaychan/TouTiaoPics/master/screenshot/video.jpg)## 微头条
![](https://raw.githubusercontent.com/chaychan/TouTiaoPics/master/screenshot/micro.jpg)## 我的
![](https://raw.githubusercontent.com/chaychan/TouTiaoPics/master/screenshot/mine.jpg)# gif图
## 新闻列表、视频列表
![](https://raw.githubusercontent.com/chaychan/TouTiaoPics/master/screenshot/main.gif)## 非视频新闻详情页面
![](https://raw.githubusercontent.com/chaychan/TouTiaoPics/master/screenshot/text_detail.gif)## 查看和保存图片
![](https://raw.githubusercontent.com/chaychan/TouTiaoPics/master/screenshot/watch_save_img.gif)## 视频播放、视频详情页面
![](https://raw.githubusercontent.com/chaychan/TouTiaoPics/master/screenshot/video_detail.gif)# 使用到的第三方库
* [okhttp](https://github.com/square/okhttp)
* [Retrofit](https://github.com/square/retrofit)
* [RxJava](https://github.com/ReactiveX/RxJava)
* [ButterKnife](https://github.com/JakeWharton/butterknife)
* [Gson](https://github.com/google/gson)
* [BottomBarLayout(轻量级底部导航栏)](https://github.com/chaychan/BottomBarLayout)
* [BaseRecyclerViewAdapterHelper(ReclerView万能适配器)](https://github.com/CymChad/BaseRecyclerViewAdapterHelper)
* [StateView(用于几种状态布局的切换)](https://github.com/nukc/StateView)
* [JieCaoVideoPlayer,改名 JiaoZiVideoPlayer (视频播放)](https://github.com/lipangit/JiaoZiVideoPlayer)
* [BGARefreshLayout-Android(下拉刷新)](https://github.com/bingoogolapple/BGARefreshLayout-Android)
* [Eyes(修改状态栏颜色)](https://github.com/imflyn/Eyes)
* [ColorTrackTabLayout](https://github.com/yewei02538/ColorTrackTabLayout)
* [EventBus](https://github.com/greenrobot/EventBus)
* [KLog(log管理)](https://github.com/ZhaoKaiQiang/KLog)# 现有功能
1.获取各种频道的新闻列表,包括视频和非视频新闻;
2.查看新闻详情,包括视频和非视频新闻的详情;
3.查看新闻评论列表;
4.新闻数据本地存储,已经获取到的新闻数据保存在本地数据库中,上拉加载更多时可查看历史新闻;
5.底部页签点击下拉刷新;
6.视频列表播放中的视频不可见时停止播放。
7.查看和保存图片。
# 技术要点
1.新闻数据的抓取和分析,使用fidder抓取,具体使用可参考下面的网址:
[http://www.tuicool.com/articles/BJjQZf](http://www.tuicool.com/articles/BJjQZf)
2.新闻列表多种Item布局的展示,使用的是我封装的MultipleItemRvAdapter,基于BaseRecyclerViewAdapterHelper封装,便于多布局条目的管理:
[https://github.com/chaychan/MultipleItemRvAdapter](https://github.com/chaychan/MultipleItemRvAdapter "https://github.com/chaychan/MultipleItemRvAdapter")
3.视频源地址的解析,请查看我写的博客 [今日头条最新视频解析方法](https://blog.csdn.net/Chay_Chan/article/details/84825807)
# 声明
这个属于个人开发作品,仅做学习交流使用,如用到实际项目还需多考虑其他因素如并发等,请多多斟酌。**诸位勿传播于非技术人员,拒绝用于商业用途,数据均属于非正常渠道获取,原作公司拥有所有权利。**