使用Post方法模拟登陆爬取网页的实现方法
短信预约 -IT技能 免费直播动态提醒
最近弄爬虫,遇到的一个问题就是如何使用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, 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; }}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
使用Post方法模拟登陆爬取网页的实现方法
下载Word文档到电脑,方便收藏和打印~
下载Word文档
猜你喜欢
使用Post方法模拟登陆爬取网页的实现方法
最近弄爬虫,遇到的一个问题就是如何使用post方法模拟登陆爬取网页。下面是极简版的代码:import java.io.BufferedReader;import java.io.InputStreamReader;import java.i
2023-05-31
php实现登陆后跳转网页的方法
本篇内容介绍了“php实现登陆后跳转网页的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php实现登录后跳转网页的方法:1、将当前访问页
2023-06-20
dedecms实现首页顶部会员登陆框的方法
很多做网站的人在做门户资讯网站的时候,都喜欢在首页顶部的位置来个横向的会员登陆。而dede的会员登陆则是在右边的。那到底要如何来实现这个功能呢?请先看效果图。 下面我们来一步一步修改! 首先在index.html中删掉原来的登陆代码,在头部
2022-06-12
vsftpd用户禁止ssh登陆的实现方法
前言
vsftp 是一款使用方便,且安全的ftp服务器端的软件。可以使用系统用户登陆,也可以使用虚拟用户登陆,进行登陆。 如果使用系统用户登陆的时候,默认情况,该用户可以登陆到系统中。意思是,可以登陆ftp服务器,也可以登陆到系统的。这样有
2022-06-04
python3实现抓取网页资源的 N 种方法
这两天学习了python3实现抓取网页资源的方法,发现了很多种方法,所以,今天添加一点小笔记。1、最简单import urllib.request
response = urllib.request.urlopen('http://pyth
2022-06-04
使用React Hooks模拟生命周期的实现方法
这篇文章主要介绍了使用React Hooks模拟生命周期,本文举例说明如何使用hooks来模拟比较常见的class组件生命周期,需要的朋友可以参考下
2023-02-08
Python实现周期性抓取网页内容的方法
本文实例讲述了Python实现周期性抓取网页内容的方法。分享给大家供大家参考,具体如下:
1.使用sched模块可以周期性地执行指定函数
2.在周期性执行指定函数中抓取指定网页,并解析出想要的网页内容,代码中是六维论坛的在线人数
论坛在线人
2022-06-04
Android使用libgdx实现模拟方向键控制角色移动的方法
本文实例讲述了Android使用libgdx实现模拟方向键控制角色移动的方法。分享给大家供大家参考,具体如下:package com.demo;
import android.os.Bundle;
import com.badlogic.g
2022-06-06
PHP开发指南:使用POST方法传递参数实现页面跳转
PHP开发指南:使用POST方法传递参数实现页面跳转随着互联网的发展,网页开发已经成为一个非常重要的领域。而在网页开发中,PHP作为一种常用的服务器端脚本语言,被广泛应用于各种网站和应用程序的开发。在进行PHP开发的过程中,经常会遇到需要
2024-03-07
让两个用户同时远程登陆XP的实现方法
1. XP系统上需要有两个用户,且两个用户都要有密码。
2. 下载termsrv.dll,要Build2055版本的 https://www.jb51.net/dll/termsrv.dll.html
3. 备份XP机器上的termsrv.
2023-06-02
2024-04-02
2024-04-02
java使用Filter实现自动登录的方法
本文实例为大家分享了java实现自动登录的具体代码,供大家参考,具体内容如下 当你勾选(记住登录状态),用cookie保存用户名和密码。不勾选,cookie失效。 所有的页面都要经过autoLoginFilter.java 的过滤器,在
2023-05-31
2024-04-02
Android实现使用微信登录第三方APP的方法
本文实例讲述了Android实现使用微信登录第三方APP的方法。分享给大家供大家参考,具体如下:
使用微信登录APP,免去注册过程,现在已经有很多的类似应用了。集成该功能过程不复杂,但还是有一些地方需要注意的。
开始之前,需要做下面的准备工
2022-06-06
2023-09-10
Python3使用requests包抓取并保存网页源码的方法
本文实例讲述了Python3使用requests包抓取并保存网页源码的方法。分享给大家供大家参考,具体如下:
使用Python 3的requests模块抓取网页源码并保存到文件示例:import requests
html = reques
2022-06-04
2023-09-20
Java模拟rank/over函数实现获取分组排名的方法详解
这篇文章主要为大家详细介绍了Java模拟rank()、over()函数获取分组排名的方法设计及实现,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
2023-05-15
2024-04-02