vue项目接口域名动态的获取方法
336
2023-05-30
使用Post方法模拟登陆爬取网页的实现方法
最近弄爬虫,遇到的一个问题就是如何使用post方法模拟登陆爬取网页。
下面是极简版的代码:
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 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
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.toStriPlLGbLFng());
rePlLGbLFturn map;
}
}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~