歡迎各路大佬踴躍提PR,分享爬蟲代碼。
源碼倉庫地址
https://github.com/lushunming/AndroidCatVodSpider
快速開始
本工程是一個完整的AndroidStudio工程,請你用AS打開編輯。
工程調試完畢后要需要導出生成jar文件配合軟件使用,執行根目錄下的 build.bat
會在jar
目錄生成一個名為custom_spider.jar
的jar文件,這個文件就是我們最終要是用的代碼包。
代碼包食用方式
本地加載:將custom_spider.jar
放入設備sd卡根目錄即可。 注意,如需本地加載,請手動賦予App存儲空間讀寫權限,App默認不申請存儲空間讀寫權限
遠程加載:將custom_spider.jar
上傳到你的網絡空間,獲取對應的文件下載地址,在軟件自定義配置的json文件中加入下面格式的鍵值對。
"spider": "http://xxx.xxx.xxx/custom_spider.jar"
支持jar文件本地緩存(需v2.0.5及以上版本)
"spider": "http://xxx.xxx.xxx/custom_spider.jar;md5;jar文件md5"
// 例如
"spider": "https://github.com/catvod/CatVodTVSpider/blob/master/jar/custom_spider.jar?raw=true;md5;c6ed6bc8285f0aca90e7cb3abf7f9caa",
如何在自定義配置中調用我們代碼包中的Spider
同樣在自定義json中加入相應的播放源即可,type=3, api對應你代碼工程中自定義的爬蟲類名(api必須是csp_
開頭),例如實例工程中的Aidi
{"key": "csp_Aidi","name": "愛迪","type": 3,"api": "csp_Aidi","searchable": 1,"quickSearch": 0,"filterable": 1
}
Json解析擴展(需v2.0.2及以上版本)
通過jar包可以實現json解析并發、輪詢等相關功能,參與并發和輪詢的json解析地址,默認為解析地址列表中的所有json解析(即type=1)。
在自定義json中的parse
里加入相應的解析配置(type=2)即可啟用。調用擴展類的名稱配置在parse
的url
字段里,例如擴展類JsonParallel
的json配置url
字段值為Parallel
。如下:
{"name": "Json并發","type": 2,"url": "Parallel"
},
{"name": "Json輪詢","type": 2,"url": "Sequence"
}
部分內置代理接口使用(需v2.0.9及以上版本)
入口 Proxy
代理,示例參考Ddrk
基礎類
com.github.catvod.spider.Spider 爬蟲基類
com.github.catvod.spider.Cloud 網盤(UC、ali、quark)爬蟲開發類
示例
請查看 倉庫中的Ddrk 相關實現 ,調試可參考 com.github.catvod.demo.MainActivity
,直接調用對應爬蟲相關接口
com.github.catvod.spider.Ddrk 爬蟲類
com.github.catvod.spider.DdrkTest 測試類
注意事項!!
-
除了
com.github.catvod.spider
包以外的代碼,最終都會被軟件本身內置的代碼代替掉,所以,建議你不要修改除com.github.catvod.spider
包以外的代碼。-
需要提交爬蟲和對應的爬蟲測試類,不然不接受PR
-
待補充
-
爬蟲類返回的相關Json字符串格式說明
homeContent
{"class": [{ // 分類"type_id": "dianying", // 分類id"type_name": "電影" // 分類名}, {"type_id": "lianxuju","type_name": "連續劇"}],"filters": { // 篩選"dianying": [{ // 分類id 就是上面class中的分類id"key": "0", // 篩選key"name": "分類", // 篩選名稱"value": [{ // 篩選選項"n": "全部", // 選項展示的名稱"v": "dianying" // 選項最終在url中的展現}, {"n": "動作片","v": "dongzuopian"}]}],"lianxuju": [{"key": 0,"name": "分類","value": [{"n": "全部","v": "lianxuju"}, {"n": "國產劇","v": "guochanju"}, {"n": "港臺劇","v": "gangtaiju"}]}]},"list": [{ // 首頁最近更新視頻列表"vod_id": "1901", // 視頻id"vod_name": "判決", // 視頻名"vod_pic": "https:\/\/pic.imgdb.cn\/item\/614631e62ab3f51d918e9201.jpg", // 展示圖片"vod_remarks": "6.8" // 視頻信息 展示在 視頻名上方}, {"vod_id": "1908","vod_name": "移山的父親","vod_pic": "https:\/\/pic.imgdb.cn\/item\/6146fab82ab3f51d91c01af1.jpg","vod_remarks": "6.7"}]
}
categoryContent
{"page": 1, // 當前頁"pagecount": 2, // 總共幾頁"limit": 60, // 每頁幾條數據"total": 120, // 總共多少調數據"list": [{ // 視頻列表 下面的視頻結構 同上面homeContent中的"vod_id": "1897","vod_name": "北區偵緝隊","vod_pic": "https:\/\/pic.imgdb.cn\/item\/6145d4b22ab3f51d91bd98b6.jpg","vod_remarks": "7.3"}, {"vod_id": "1879","vod_name": "浪客劍心 最終章 人誅篇","vod_pic": "https:\/\/pic.imgdb.cn\/item\/60e3f37e5132923bf82ef95e.jpg","vod_remarks": "8.0"}]
}
detailContent
{"list": [{"vod_id": "1902","vod_name": "海岸村恰恰恰","vod_pic": "https:\/\/pic.imgdb.cn\/item\/61463fd12ab3f51d91a0f44d.jpg","type_name": "劇情","vod_year": "2021","vod_area": "韓國","vod_remarks": "更新至第8集","vod_actor": "申敏兒,金宣虎,李相二,孔敏晶,徐尚沅,禹美華,樸藝榮,李世亨,邊勝泰,金賢佑,金英玉","vod_director": "柳濟元","vod_content": "海岸村恰恰恰劇情: 韓劇海岸村恰恰恰 ??? ???改編自2004年的電影《我的百事通男友洪班長》,海岸村恰恰恰 ??? ???講述來自大都市的牙醫(申敏兒 飾)到充滿人情味的海岸村開設牙醫診所,那里住著一位各方面都",// 播放源 多個用$$$分隔"vod_play_from": "qiepian$$$yun3edu",// 播放列表 注意分隔符 分別是 多個源$$$分隔,源中的劇集用#分隔,劇集的名稱和地址用$分隔"vod_play_url": "第1集$1902-1-1#第2集$1902-1-2#第3集$1902-1-3#第4集$1902-1-4#第5集$1902-1-5#第6集$1902-1-6#第7集$1902-1-7#第8集$1902-1-8$$$第1集$1902-2-1#第2集$1902-2-2#第3集$1902-2-3#第4集$1902-2-4#第5集$1902-2-5#第6集$1902-2-6#第7集$1902-2-7#第8集$1902-2-8"}]
}
searchContent
{"list": [{ // 視頻列表 下面的視頻結構 同上面homeContent中的"vod_id": "1606","vod_name": "陪你一起長大","vod_pic": "https:\/\/img.aidi.tv\/img\/upload\/vod\/20210417-1\/e27d4eb86f7cde375171dd324b2c19ae.jpg","vod_remarks": "更新至第37集"}]
}