如果你需要爬取某些网页的内容,但这些网站需要登录,那就需要一些额外的步骤来由程序来完成这些登录并爬取我们需要的网页内容了,任意登录页面都是向服务器发送请求,如果我们能够模拟向服务器发送请求,那么自然登录也就不在话下,通过Fiddler抓取我们需要的一些信息,很轻松的就能模拟出向服务器发送的请求,下面我们可以使用HTTPURLConnection进行模拟登陆并爬取我们需要的网页内容。
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.List;
import java.util.Map.Entry;
public class INotesPost {
public static void main(String[] args) throws Exception {
String surl = "***?login";
URL url = new URL(surl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod("POST");
connection.setUseCaches(false);
connection.setRequestProperty("Content-Type", "application/x-www-form-urlenco