如何用python获取网盘数据
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,本篇内容主要讲解"如何用python获取网盘数据",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何用python获取网盘数据"吧!随着版权越来越重,做个电
千家信息网最后更新 2025年12月03日如何用python获取网盘数据
本篇内容主要讲解"如何用python获取网盘数据",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何用python获取网盘数据"吧!
随着版权越来越重,做个电影站、磁力站、小说站已经越来越难,而网盘搜索的话由于背靠百度大哥,还相对好一些,但是百度压力也是越来越大,这个领域获取数据其实也基本不太可能。好在有些团队凭借着长期的数据储备,积累了很多相关数据,可以采用直接调用数据的形式实现,目前做的比较好的当属小葱计算,这是小编最近才发现的一个平台,也大概看了下demo,确实很容易,以python为例:
# -*- coding: utf-8 -*-# flake8: noqa__author__ = 'wukong'import urllibfrom urllib import urlencode#配置您申请的appKey和openIdapp_key="***"open_id="***""""request_url 请求地址params 请求参数method 请求方法"""def request_content(request_url,params,method): params = urlencode(params) if method and method.lower() =="get": f = urllib.urlopen("%s?%s" % (request_url, params)) else: f = urllib.urlopen(request_url, params) content = f.read() print content def main(): domain="http://api.xiaocongjisuan.com/" servlet="data/skydriverdata/get" method="get" request_url=domain+servlet #字典 params ={} params["appKey"]=app_key params["openId"]=open_id #变动部分 params["q"]="a" params["currentPage"]=1 params["pageSize"]=20 request_content(request_url,params,method) if __name__ == '__main__': main()java 为例:
package com.xiaocongjisuan.module.example;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLEncoder;import java.util.HashMap;import java.util.Map;public class Application { public static final String DEF_CHATSET = "UTF-8"; public static final int DEF_CONN_TIMEOUT = 30000; public static final int DEF_READ_TIMEOUT = 30000; public static String userAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36"; //配置您申请的appKey和openId public static final String APP_KEY ="yours"; public static final String OPEN_ID ="yours"; //将map型转为请求参数型 public static String urlEncode(Map params) { if(params==null){return "";}; StringBuilder sb = new StringBuilder(); for (Map.Entry i : params.entrySet()) { try { sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } String r=sb.toString(); if(r.endsWith("&")){ r = r.substring(0,r.length()-1); } return r; } /** * * @param requestUrl 请求地址 * @param params 请求参数 * @param method 请求方法 * @return 请求结果 * @throws Exception */ public static String requestContent(String requestUrl, Map params,String method) throws Exception { HttpURLConnection conn = null; BufferedReader reader = null; String rs = null; try { //组装请求链接 StringBuffer sb = new StringBuffer(); if(method!=null&&method.equalsIgnoreCase("get")){ requestUrl = requestUrl+"?"+urlEncode(params); } //默认get URL url = new URL(requestUrl); conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); if(method!=null&&method.equalsIgnoreCase("post")){ conn.setRequestMethod("POST"); conn.setDoOutput(true); conn.setDoInput(true); } //参数配置 conn.setRequestProperty("User-agent", userAgent); conn.setUseCaches(false); conn.setConnectTimeout(DEF_CONN_TIMEOUT); conn.setReadTimeout(DEF_READ_TIMEOUT); conn.setInstanceFollowRedirects(false); conn.connect(); if (params!= null && method.equalsIgnoreCase("post")) { try { DataOutputStream out = new DataOutputStream(conn.getOutputStream()); out.writeBytes(urlEncode(params)); } catch (Exception e) { e.printStackTrace(); } } //读取数据 InputStream is = conn.getInputStream(); reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET)); String strRead = null; while ((strRead = reader.readLine()) != null) { sb.append(strRead); } rs = sb.toString(); } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { reader.close(); } if (conn != null) { conn.disconnect(); } } return rs; } public static void main(String[] args) throws Exception{ String domain="http://api.xiaocongjisuan.com/"; String servlet="data/skydriverdata/get"; String method="get"; String requestUrl=domain+servlet; Map params=new HashMap(); params.put("appKey",APP_KEY); params.put("openId",OPEN_ID); //变动部分 params.put("q","a"); params.put("currentPage",1); params.put("pageSize",20); String result=requestContent(requestUrl,params,method); System.out.println(result); }} 平台的文档参数都写的比较清晰,具体可以网盘数据查看,返回结果有json/xml两种形式:
{ "data": { "result": [{ "id": 15229, "title": "19.STM32+UCOSIII开发", "url": "https://pan.baidu.com/s/1jHVppmm", "size": "0 B", "shareTime": 1544196520000, "shareUser": "men****gwc", "isDir": "1", "originId": 1, "originName": "百度网盘", "categoryId": 6, "categoryName": "文件夹(压缩)", "password": "1h7h", "acqTime": 1544196520000, "content": "文件|4,程序源码|3,ALIENTEK战舰STM32F1 V3开发板原理图|2,ALIENTEK战舰STM32F1 V3开发板视频教程|1,ALIENTEK战舰STM32F1 V3开发板入门资料|联系我们.pdf|STM32F1开发指南-库函数版本_V3.1 .pdf|STM32F1开发指南-寄存器版本_V3.1 .pdf|STM32F1 UCOS开发手册_V2.0.pdf|STM32F1 LWIP开发手册(DM9000版)_V1.1.pdf|STM32F1 EMWIN开发手册_V2.0.pdf|01", "uk": "2568959939", "shareId": "3221440608", "fileCount": 12, "fromTable": 5, "uniqueKey": "15a3c21502524cde3dca0602265d0de2", "shortUrl": "1jHVppmm", "extendFiles": [{ "fsId": "679418566138045", "serverFilename": "文件", "size": "0 B" }, { "fsId": "276424880413983", "serverFilename": "4,程序源码", "size": "0 B" }, { "fsId": "512606928244026", "serverFilename": "3,ALIENTEK战舰STM32F1 V3开发板原理图", "size": "2.9 GB" }, { "fsId": "490793316644212", "serverFilename": "2,ALIENTEK战舰STM32F1 V3开发板视频教程", "size": "3.2 GB" }, { "fsId": "449624001387403", "serverFilename": "1,ALIENTEK战舰STM32F1 V3开发板入门资料", "size": "3.7 GB" }, { "fsId": "934962552301526", "serverFilename": "联系我们.pdf", "size": "283 MB" }, { "fsId": "151892956852061", "serverFilename": "STM32F1开发指南-库函数版本_V3.1 .pdf", "size": "8.1 MB" }, { "fsId": "277550860315906", "serverFilename": "STM32F1开发指南-寄存器版本_V3.1 .pdf", "size": "2.0 GB" }, { "fsId": "675377464375217", "serverFilename": "STM32F1 UCOS开发手册_V2.0.pdf", "size": "3.3 GB" }, { "fsId": "686926257121399", "serverFilename": "STM32F1 LWIP开发手册(DM9000版)_V1.1.pdf", "size": "3.7 GB" }, { "fsId": "829790437997820", "serverFilename": "STM32F1 EMWIN开发手册_V2.0.pdf", "size": "12.2 MB" }, { "fsId": "383158876469280", "serverFilename": "01", "size": "0 B" }] }], "amount": 1, "totalPage": 1, "time": 0.20107889, "currentPage": 1 }, "errorMessage": "成功", "errorCode": 0, "error": "success"}到此,相信大家对"如何用python获取网盘数据"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
开发
数据
战舰
手册
参数
开发指南
指南
版本
文件
方法
越来
配置
内容
函数
原理
地址
寄存器
平台
形式
教程
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
合肥建筑软件开发企业
手机一到晚上就无法连接服务器
软件开发工程师工资薪酬分析
彭托软件开发
数据库增加一条数据库
安徽惠普服务器虚拟化技术云主机
数据库大飞
pe安装微软服务器系统
软件开发 都要干什活
南通软件开发公司
世界上根服务器
联通卡流量打不开数据库
网络安全宣传稿海报
苹果系统网络安全
无锡服务器机柜过滤器
网络安全法日子首次将
优酷投屏无法询问服务器
如何改动数据库字段大小
安全狗服务器v4.2
测试mysql数据库
把页面输入的图片放进数据库
搭建下载服务器
乌镇互联网大会科技展示
2019网络安全安全竞赛
哈利波特最卷的服务器
网络安全行业资质申请
深圳智慧电梯软件开发服务
购买软件开发集成材料怎么入账
使命召唤ol绑定大区服务器忙
c服务器开发