本帖最后由 双木 于 2018-10-31 09:15 编辑
【2018年10月31日 恢复服务 】
最近更新(18.10.16)云盘恶魔,更换了全新的页面,以及交互方式。
所以如遇到问题可以在此留言或者邮件告知我们,
我们会尽快修复。
同时计划本月修复猪猪盘1号,新增两个搜索引擎
体验地址: 遵论坛版规,不贴出体验地址,可百度自行搜索 云盘恶魔
搜索原理
请求其他搜索网盘 > 获取结果页面>解析结果
>重新封装>展示到前端显示页面
本贴提供 项目Jar包
项目原理:模拟移动端UA请求 云盘精灵的搜索接口,解析后 重新封装。
项目扩展:本项目仅模拟请求,大家可以在此基础扩展,使用爬虫框架,直接自动化爬取所有资源存储下来
本地运行
运行环境 jdk8
运行端口 666
访问地址: http://127.0.0.1:666/
启动命令 在文件根目录 cmd执行 java -jar yunpan.jar
关键代码
[Java] 纯文本查看 复制代码 OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://www.yunpanjingling.com/search/"+key+"?page="+page)
.get()
.addHeader("user-agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1")
.build();
Response response = client.newCall(request).execute();
String html= response.body().string();
key是关键字
page是页码
这段代码获取的是搜索结果的源页面
[Java] 纯文本查看 复制代码 List<infobean> list=new ArrayList<>();
String html=getinfo(key,page);
Document doc = Jsoup.parse(html);
Element count = doc.select("div.count>strong").first();
String counts=count.text().replaceAll(",","");
List<Element> WrapperList = doc.select("div.wrapper");
for (int i=0;i<WrapperList.size();i++){
Element name = WrapperList.get(i).select("div.name>a").first();
Element referrer = WrapperList.get(i).select("div.referrer>a").first();
Element url = WrapperList.get(i).select("div.name>a").first();
Element size = WrapperList.get(i).select("div.info>span.size").first();
Element info =WrapperList.get(i).select("div.info>span.access-code").first();
infobean infos=new infobean();
infos.setSize(size.text());
infos.setTitle(name.text());
infos.setReferrer(referrer.text());
String codes="";
try {
if(info!=null){
codes=info.text();
}
}catch (Exception e){
}
String urls=new String(decoder.decodeBuffer(url.attr("href").replace("https://noreferrer.meek.com.cn/redirect/","")), "UTF-8")+"#"+codes;
infos.setUrl(urls);
infos.setCode(codes);
list.add(infos);
}
Map<String,Object> map=new HashMap<String,Object>();
map.put("total",counts);
map.put("rows",list);
JSONArray.toJSON(map);
这段代码开头的html即上段代码的html字段
这段代码就是提取了结果页面的信息,并存入到实体类集合,然后转为json格式输出到页面
项目主要用到 fastjson 以及okhttp3和jsoup
|