如何用python获取网盘数据
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,本篇内容主要讲解"如何用python获取网盘数据",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何用python获取网盘数据"吧!随着版权越来越重,做个电
千家信息网最后更新 2025年02月04日如何用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(Mapparams) { 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安全错误
数据库的锁怎样保障安全
宝山区辅助软件开发业务流程
egg如何调用数据库
腾讯云游戏服务器价格
口碑好的存储服务器供应商
警告网站在国内服务器在国外
网络安全五字术语
厚道互联网科技有限公司怎么样
网络安全保护支队
服务器 ha
数据库系统系统讲的是什么
软件开发锐龙和酷睿选哪个
软件开发一年加工资多少
编辑加工数据库
广州微信软件开发费用是多少
网络技术考试教程
网络安全服务有访问控制技术
无线网络技术ns2使用步骤
网络安全班组称号
网络安全网课图解
温州模具加工erp软件开发
单位网络安全要求会议
做软件开发被公安带走
温州网络安全三级认证
solr 关系型数据库
国网印发加强党委网络安全
数据库管理员用例
河北系统软件开发报价
数据库最常用的有哪些
呼和浩特雕刻机软件开发
网络安全在哪里工作