基於gsyvideoplayer的視頻播放app,用okhttp3+retrofit2訪問網絡,Jsoup爬蟲,極光推送

    我喜歡看韓劇,藉此力,對我經常訪問的網站: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

非常感謝,各位博主提供的源碼。

如有問題,留個評論啊。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章