基于gsyvideoplayer的视频播放app,用okhttp3+retrofit2访问网络,Jsoup爬虫,极光推送

1 篇文章 0 订阅
1 篇文章 0 订阅

    我喜欢看韩剧,借此力,对我经常访问的网站:http://www.hanju.cc/进行了爬虫。这个网站没有app,对网站进行

抓包时,没有什么可利用的数据,所以只能爬虫获取数据。

    1.该APP解决对于jsoup获取到的Document,对JavaScriptvar值获取:

public String getmediaplayerInfo(Document doc){
      String link="";
      Elements e = doc.getElementsByTag("script");
      String[] data = e.get(7).data().toString().split("var");
      for(int i=0;i<data.length;i++)
      {
          if(data[i].indexOf("vid=")!=-1) {
              link = data[i].substring(data[i].indexOf("vid='") + 5, data[i].indexOf("';"));
              Log.i("getNewsItems: link", link);
          }
      }
        return link;
}

  2.解决OkHttp post请求编码问题

   这里的“xuan”和“name”,是你要自己提交的值,不清楚可以下载项目查看,包含这个问题的文件

的路径在:java\com\panpan\hantaimi\network。

private static class UserAgentInterceptor1 implements Interceptor {
    @Override
    public Response intercept(Chain chain) throws IOException {
        Request originalRequest = chain.request();
        Request requestWithUserAgent = originalRequest.newBuilder()
                .post(RequestBody.create(MediaType.parse("application/x-www-form-urlencoded;charset=gb2312"),
                        "pagesize=100&channeltype="+xuan+"&keyword="+name))
                .build();

        return chain.proceed(requestWithUserAgent);
    }
}
3.接入了极光推送,想了解更多还是到极光官网查看更多,我这里已经接好了,你只需改变某些值就可以应用。对极光发送
过来的信息进行处理后显示。注意观察我给的代码和图片里的值要对应,你可以在极光的发送通知进行键和值的编辑。
然后在android代码里根据键获取值,注意!键一定要对应上,不然就不反应,也不会报错。

String ss=bundle.getString(JPushInterface.EXTRA_EXTRA);
JSONObject jextra=new JSONObject(ss);
String type=jextra.getString("type");

String uri="";
if(type.equals("hanju")) {
   uri = jextra.getString("hanju");
   Intent mIntent = new Intent(context,NewshanjuActivity.class);
   mIntent.putExtra(ConstantUtil.EXTRA_URL, uri);
    mIntent.putExtra(ConstantUtil.EXTRA_go, "no");
   mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP );
   context.startActivity(mIntent);
}
else if(type.equals("daitai")) {
   uri = jextra.getString("daitai");
   String img= jextra.getString("img");
   Intent mIntent = new Intent(context, NewsDetailActivity.class);
   mIntent.putExtra(ConstantUtil.EXTRA_IMG_URL, img);
   mIntent.putExtra(ConstantUtil.EXTRA_URL, uri);
   mIntent.putExtra(ConstantUtil.EXTRA_TITLE, bundle.getString(JPushInterface.EXTRA_NOTIFICATION_TITLE));
   mIntent.putExtra(ConstantUtil.xuan,"wen");
   mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP );
   context.startActivity(mIntent);
}
else if(type.equals("tuku")) {
   uri = jextra.getString("tuku");
   String img= jextra.getString("img");
   Intent mIntent = new Intent(context, NewsDetailActivity.class);
   mIntent.putExtra(ConstantUtil.EXTRA_IMG_URL, img);
   mIntent.putExtra(ConstantUtil.EXTRA_URL, uri);
   mIntent.putExtra(ConstantUtil.EXTRA_TITLE, bundle.getString(JPushInterface.EXTRA_NOTIFICATION_TITLE));
   mIntent.putExtra(ConstantUtil.xuan,"tu");
   mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP );
   context.startActivity(mIntent);
}
 

app的展示:



该app仅供学习使用。项目:https://github.com/panyancen/hanjumi,apk:

http://www.panpan55.top/app-debug.apk

主要参考项目:

https://github.com/HotBitmapGG/bilibili-android-client

https://github.com/CarGuo/GSYVideoPlayer

非常感谢,各位博主提供的源码。

如有问题,留个评论啊。




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值