一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 使用Post方法模擬登陸爬取網頁的實現方法

使用Post方法模擬登陸爬取網頁的實現方法

2020-09-02 09:58Java之家 Java教程

下面小編就為大家帶來一篇使用Post方法模擬登陸爬取網頁的實現方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

最近弄爬蟲,遇到的一個問題就是如何使用post方法模擬登陸爬取網頁。

下面是極簡版的代碼:

使用Post方法模擬登陸爬取網頁的實現方法

java" id="highlighter_203952">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
 
import java.net.HttpURLConnection;
import java.net.URL;
 
import java.util.HashMap;
 
public class test {
 
 //post請求地址
 private static final String POST_URL = "";
 
 //模擬谷歌瀏覽器請求
 private static final String USER_AGENT = "";
 
 //用賬號登錄某網站后 請求POST_URL鏈接獲取cookie
 private static final String COOKIE = "";
 
 //用賬號登錄某網站后 請求POST_URL鏈接獲取數據包
 private static final String REQUEST_DATA = "";
 
 public static void main(String[] args) throws Exception {
  HashMap<String, String> map = postCapture(REQUEST_DATA);
  String responseCode = map.get("responseCode");
  String value = map.get("value");
  
  while(!responseCode.equals("200")){
   map = postCapture(REQUEST_DATA);
   responseCode = map.get("responseCode");
   value = map.get("value");
  }
  
  //打印爬取結果
  System.out.println(value);
 }
 
 private static HashMap<String, String> postCapture(String requestData) throws Exception{
  HashMap<String, String> map = new HashMap<>();
  
  URL url = new URL(POST_URL);
  HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
  httpConn.setDoInput(true); // 設置輸入流采用字節流
  httpConn.setDoOutput(true); // 設置輸出流采用字節流
  httpConn.setUseCaches(false); //設置緩存
  httpConn.setRequestMethod("POST");//POST請求
  httpConn.setRequestProperty("User-Agent", USER_AGENT);
  httpConn.setRequestProperty("Cookie", COOKIE);
  
  PrintWriter out = new PrintWriter(new OutputStreamWriter(httpConn.getOutputStream(), "UTF-8"));
  out.println(requestData);
  out.close();
 
  int responseCode = httpConn.getResponseCode();
  StringBuffer buffer = new StringBuffer();
  if (responseCode == 200) {
   BufferedReader reader = new BufferedReader(new InputStreamReader(httpConn.getInputStream(), "UTF-8"));
   String line = null;
   while ((line = reader.readLine()) != null) {
    buffer.append(line);
   }
   reader.close();
   httpConn.disconnect();
  }
  
  map.put("responseCode", new Integer(responseCode).toString());
  map.put("value", buffer.toString());
  return map;
 }
 
}

以上這篇使用Post方法模擬登陸爬取網頁的實現方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 手机在线观看伦理片 | 亚洲99久久无色码中文字幕 | 牛牛影院成人免费网页 | 亚洲色图欧美偷拍 | 国产精品va在线观看手机版 | 天美网站传媒入口网址 | 青春学堂在线观看 | 日本偷拍xxxxxxww| 色琪琪原网站亚洲香蕉 | 韩国三级日本三级香港三级黄 | 色人阁导航 | 日韩亚洲国产激情在线观看 | 国产成人亚洲精品乱码在线观看 | 婷射吧 | 色多多幸福宝 | 狠狠夜夜久久日日91av | 色综合久久日韩国产 | 调教扩张宫颈女人惨叫 | 国产一卡二卡3卡4卡四卡在线 | beeg日本高清xxxx18 | 九九精品免视频国产成人 | 天天插在线视频 | 手机跑分排行最新排名 | 亚洲国产精品综合久久网络 | 亚洲精品短视频 | 成年男人永久免费看片 | 亚洲狠狠网站色噜噜 | 91视频免费观看网站 | 久久视频精品3线视频在线观看 | 9久re热视频这里只有精品 | 国产成人手机在线 | 日本四虎影院 | 98pao强力打造高清免费 | 精品亚洲视频在线观看 | 三极片在线观看 | 香蕉国产人午夜视频在线观看 | 四虎2020紧急免费入口 | 日本一道本视频 | 国产卡一卡二卡四卡无卡 | 国产精品久久久久久爽爽爽 | 国产午夜一区二区在线观看 |