Toggle navigation
首页
(current)
文章
问答
诗与远方
JSON解析
登录
注册
取网页的两种方式.可直接使用
java
1: CloseableHttpClient
[java]
view plain
copy
/*
* 爬取网页信息
*/
private
static
String pickData(String url) {
CloseableHttpClient httpclient = HttpClients.createDefault();
try
{
HttpGet httpget =
new
HttpGet(url);
CloseableHttpResponse response = httpclient.execute(httpget);
try
{
// 获取响应实体
HttpEntity entity = response.getEntity();
// 打印响应状态
if
(entity !=
null
) {
return
EntityUtils.toString(entity);
}
}
finally
{
response.close();
}
}
catch
(ClientProtocolException e) {
e.printStackTrace();
}
catch
(ParseException e) {
e.printStackTrace();
}
catch
(IOException e) {
e.printStackTrace();
}
finally
{
// 关闭连接,释放资源
try
{
httpclient.close();
}
catch
(IOException e) {
e.printStackTrace();
}
}
return
null
;
}
2:模拟浏览器:
[java]
view plain
copy
/*
* 爬取网页信息
*/
public
static
String sendGet(String url)
throws
Exception {
String result =
""
;
URLConnection conn =
null
;
InputStream inputStream =
null
;
BufferedReader in =
null
;
URL realURL =
new
URL(url);
conn = realURL.openConnection();
conn.setRequestProperty(
"accept"
,
"*/*"
);
conn.setRequestProperty(
"connection"
,
"Keep-Alive"
);
conn.setRequestProperty(
"user-agent"
,
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36"
);
Map<String, List<String>> map = conn.getHeaderFields();
for
(String s : map.keySet()) {
System.out.println(s +
"-->"
+ map.get(s));
}
inputStream = conn.getInputStream();
String line;
// 读取操作
in =
new
BufferedReader(
new
InputStreamReader(inputStream,
"utf-8"
));
while
((line = in.readLine()) !=
null
) {
result +=
"\n"
+ line;
}
in.close();
System.out.println(result);
return
result;
}
发表于 2017-11-13 17:17
阅读 ( 1215 )
分类:
Java
0 推荐
收藏
你可能感兴趣的文章
相关问题
0 条评论
请先
登录
后评论
- Nightmare
33 篇文章
作家榜
»
威猛的小站长
124 文章
Jonny
65 文章
江南烟雨
36 文章
- Nightmare
33 文章
doublechina
31 文章
HJ社区-肖峰
29 文章
伪摄影
22 文章
Alan
14 文章
×
发送私信
发给:
内容:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!