如何抓取HTML页面及HttpClient使用
1个回答
2017-11-02 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
1.创建如图结构的文件夹(pom.xml文件自行百度创建)
2.导入Existing Maven Project
->生成如图所示项目
使用HttpClient抓取网页
1.首先要配置pom.xml文件,需要将HttpClient包加载进来
->访问www.mvnrepository.com
->搜索HttpClient,找到如图信息
->复制粘贴到pom.xml文件中(注意需要添加一个<dependencies></dependencies>标签),如图
eclipse工具会帮我们下载好HttpClient包,我们直接导入使用就好
2.我们使用HttpClient发送Get请求,并接受响应,将特定的页面下载。
错误的写法 {
//先创建HttpClient对象
CloseableHttpClient httpClient = new HttpClients.createDefault();1212
这里用这个写法创建HttpClient对象会返回403forbidden,UA字段存在问题,所有我们要对UA字段进行设置,用下面的写法。
}
创建HttpClient对象
HttpClientBuilder builder = HttpClients.custom();
//设置UA字段,UA标识浏览器身份
builder.setUserAgent("Mozilla/5.0(Windows;U;Windows NT 5.1;en-US;rv:0.9.4)");
CloseableHttpClient httpclient = builder.build();1234512345
//再创建HttpGet对象(url为需要下载网页的地址)
HttpGet httpGet = new HttpGet(url);`
//执行get请求
CloseableHttpResponse response = httpClient.execute(httpGet);`
//获得响应实体
HttpEntity entity = response.getEntity();
String rawHtml = EntityUtils.toString(entity);`
//将抓取到的网页打印
System.out.println(rawHtml);`123456789123456789
2.导入Existing Maven Project
->生成如图所示项目
使用HttpClient抓取网页
1.首先要配置pom.xml文件,需要将HttpClient包加载进来
->访问www.mvnrepository.com
->搜索HttpClient,找到如图信息
->复制粘贴到pom.xml文件中(注意需要添加一个<dependencies></dependencies>标签),如图
eclipse工具会帮我们下载好HttpClient包,我们直接导入使用就好
2.我们使用HttpClient发送Get请求,并接受响应,将特定的页面下载。
错误的写法 {
//先创建HttpClient对象
CloseableHttpClient httpClient = new HttpClients.createDefault();1212
这里用这个写法创建HttpClient对象会返回403forbidden,UA字段存在问题,所有我们要对UA字段进行设置,用下面的写法。
}
创建HttpClient对象
HttpClientBuilder builder = HttpClients.custom();
//设置UA字段,UA标识浏览器身份
builder.setUserAgent("Mozilla/5.0(Windows;U;Windows NT 5.1;en-US;rv:0.9.4)");
CloseableHttpClient httpclient = builder.build();1234512345
//再创建HttpGet对象(url为需要下载网页的地址)
HttpGet httpGet = new HttpGet(url);`
//执行get请求
CloseableHttpResponse response = httpClient.execute(httpGet);`
//获得响应实体
HttpEntity entity = response.getEntity();
String rawHtml = EntityUtils.toString(entity);`
//将抓取到的网页打印
System.out.println(rawHtml);`123456789123456789
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询