java 爬取百度云盘,htmlunit 爬取百度云资源
这里我们给出一个htmlunit实例,爬百度云;
为了更好的体现htmlunit的优势,我们先用httpclient爬下;
这个是我的百度云用户首页
我们现在要爬用户分享的文件 ;
我们先用httpclient:
代码如下:package com.open1111;
import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class BlogCrawler {
public static void main(String[] args) throws ClientProtocolException, IOException {
CloseableHttpClient httpclient = HttpClients.createDefault(); // 创建httpclient实例
HttpGet httpget = new HttpGet("https://pan.baidu.com/share/home?uk=305605848#category/type=0"); // 创建httpget实例
httpget.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0"); // 设置请求头消息User-Agent
CloseableHttpResponse response = httpclient.execute(httpget); // 执行get请求
HttpEntity entity=response.getEntity(); // 获取返回实体
System.out.println("网页内容:"+EntityUtils.toString(entity, "utf-8")); // 指定编码打印网页内容
response.close(); // 关闭流和释放系统资源
}
}
运行结果:
我们得到的是这东西,没获取到数据,原因就是百度云的数据加载 是通过ajax加载以及js渲染上去的,所以用httpclient搞不定;
这时候,我们用htmlunit搞下:package com.open1111;
import java.io.IOException;
import java.net.MalformedURLException;
import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
public class HtmlUnitTest7 {
public static void main(String[] args){
WebClient webClient=new WebClient(BrowserVersion.FIREFOX_52);
HtmlPage page;
try {
page = webClient.getPage("https://pan.baidu.com/share/home?uk=305605848#category/type=0");
Thread.sleep(10000); // 休息10秒钟 等待htmlunit执行js
System.out.println(page.asXml());
} catch (FailingHttpStatusCodeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
webClient.close(); // 关闭客户端 释放内存
}
}
}
运行输出:
Htmlunit搞数据搞出来了。。
代码用了sleep 10秒 主要是因为htmlunit执行ajax js也是需要一定的时候 具体多长时间 不定,并且htmlunit没有提供类似假如执行完ajax js后的事件或者提醒api,所以我们只能人工去判断 比如每个5秒去判断一次,尝试三次机会;
具体实现 等后面发布至尊vip 爬百度云资源 大伙可以参考下;
java 爬取百度云盘,htmlunit 爬取百度云资源相关推荐
- 使用Python爬取微信群里的百度云资源
需求背景: 最近误入一个免费(daoban)资源的分享群(正经脸),群里每天都在刷资源链接.但是大家都知道,百度云的分享链接是很容易被河蟹的,群里除了分享链接外,就是各种抱怨 "怎么又失效了 ...
- Python爬取并闪存微信群里的百度云资源
需求背景: 最近误入一个免费(daoban)资源的分享群(正经脸),群里每天都在刷资源链接.但是大家都知道,百度云的分享链接是很容易被河蟹的,群里除了分享链接外,就是各种抱怨 "怎么又失效了 ...
- python爬虫百度云资源分享吧_python爬虫入门 实战(七)---爬取并闪存微信群里的百度云资源...
(声明:本篇文章以交流技术为目的,希望大家支持正版,支持院线~) 需求背景: 最近误入一个免费(daoban)资源的分享群(正经脸),群里每天都在刷资源链接.但是大家都知道,百度云的分享链接是很容易被 ...
- python微信开发实例 pdf 百度网盘_用python看女神微信里的百度云资源有啥?
最近小编一直苦心研究,怎么给大家发放更多的资料和资源链接.大家都知道,百度云的分享链接是很容易被和谐的,群里除了分享链接外,就是各种抱怨 "怎么又失效了","又和谐了.. ...
- eclipse、JDK百度云资源链接
eclipse.JDK百度云资源链接 有需要自取 链接:https://pan.baidu.com/s/1h5cFJ7XhIxhC2UlhenbeZw 提取码:iebm (已更新!)
- 如何搜索百度云资源?带你打开新世界大门!
原文地址:好物分享 | 也许是最好用的百度云资源搜索工具 百度云 一个神奇的存在 在其他云盘纷纷倒下时 它依然坚挺着 你是不是在想 如何能够搜索全网的资源? 今天就给大家分享一个神器:PanDownl ...
- 前端、后端,数据结构,编程语言,微信小程序,英语,理综,PS,MySql,Python,JS,Jquery,Ajax,免费百度云资源链接
高中英语知识点汇总百度云: 链接:HTTPS://pan.baidu.com/s/1X0ELSe7LorfLAzNMrUpkxA密码:byo5 英语基础语法百度云: 链接:HTTPS://pan.ba ...
- python从入门到精通视频教程百度云-python从入门到精通视频教程百度云资源
python从入门到精通视频教程百度云资源来源 : 华清远见 2019-05-24 随着新技术的不断推进,在未来无论我们是要进入网页开发.数据分析.机器学习.人工智能还是无人车云计算等领域,Pytho ...
- 64位百度云 catia v6_逃狱兄弟百度云资源已更新,1080P高清资源分享64
进最后阅读原文获取免费资源在线观看 曾经属于香港电影的时代,随着内地电影业迅猛的发展,逐步的落寞了.逃狱兄弟百度云资源已更新,1080P高清资源分享64 但是属于香港电影的情怀依旧难以让人割舍.逃狱兄 ...
最新文章
- ACE-Streams架构简介及应用
- [Elasticsearch2.x] 多字段搜索 (三) - multi_match查询和多数字段 译
- cmake 添加二进制文件_CMake构建系统
- android 自动打包工具,AutopackingAndroid
- 学习 SCCM 2012 的思路
- 【AGC005F】Many Easy Problems FFT 容斥原理
- Tri-training regression, 协同训练回归
- [转载]年末致富有新招,写个程序抓红包
- 51单片机十字交通灯程序设计
- FPGA中case语句4选1数据选择器
- 《计算机网络教程》(微课版 第五版)第一章 概述 课后习题及答案
- 【C++】右值引用、移动构造函数
- linux过滤目录文件,SCP使用技巧-递归排除文件
- Zebra BI for Excel
- 两张图读懂Saas Paas Iaas
- 【资源-文档】转载侵删 | STM32F10XXX参考手册(中文)
- K210(SiPEED MaixBit)MicroPython使用参考(三、播放SD卡内视频文件)
- NMS——非极大值抑制
- aws mongodb_在AWS上托管React flask mongodb Web应用程序第4部分
- android 电脑模拟点击,点击真理电脑版怎么下载 安卓模拟器电脑版下载地址
热门文章
- 微博轻量级RPC框架Motan
- 【历史上的今天】1 月 30 日:鼠标之父诞生;Trisquel GNU/Linux 问世;Office 2007 开始零售
- 【QPSK中频】基于FPGA的QPSK中频信号产生模块verilog设计
- python 处理超大文件
- si4463开发总结
- 用例与用例,参与者与参与者_参与通讯内容的30个想法
- win7计算机评分性能,Win7内存评分:两种规格6分以内_内存硬盘技巧-中关村在线...
- 【Axure教程】多选和批量操作的表格模板
- HTML5+CSS大作业——仿新浪微博个人主(4页) html期末作业代码网页设计
- 【转】通往GTD的一百步(中英双语版)