导航:首页 > 编程语言 > java登录并抓取网页

java登录并抓取网页

发布时间:2021-02-27 20:08:17

1. java怎么抓取需要登录后的网站数据

一般爬虫都不会抓登录以后的页面, 如果你只是临时抓某个站,可以模拟登录,然后拿到登录以后的Cookies,再去请求相关的页面。

2. "java网络爬虫怎么实现抓取登录后的页面" 你好,由于最近也急需这个代码

没做过网络爬虫,不过顺手写了个自动登录猫扑打卡的程序你可以参考一下,需要的包是commons-logging.jar,commons-net-1.4.1.jar,commons-codec-1.3.jar,log4j.jar,httpclient-4.3.1.jar ,下面是源代码,希望可以帮到你~~
package com.ly.mainprocess;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.Consts;
import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.StatusLine;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.cookie.Cookie;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

public class Test1 {
public static void main(String[] args){
Test1 test1 = new Test1();
System.out.println(test1.process("******","******"));
}

@SuppressWarnings("deprecation")
public boolean process(String username,String password) {
boolean ret=false;
DefaultHttpClient httpclient = new DefaultHttpClient();
try {
HttpGet httpget;
HttpResponse response;
HttpEntity entity;

List<Cookie> cookies;

//组建登录的post包
HttpPost httppost = new HttpPost("http://login.hi.mop.com/Login.do"); // 用户登录
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("nickname", username));
nvps.add(new BasicNameValuePair("password", password));
nvps.add(new BasicNameValuePair("origURL", "http://hi.mop.com/SysHome.do"));
nvps.add(new BasicNameValuePair("loginregFrom", "index"));
nvps.add(new BasicNameValuePair("ss", "10101"));

httppost.setEntity(new UrlEncodedFormEntity(nvps, Consts.UTF_8));
httppost.addHeader("Referer", "http://hi.mop.com/SysHome.do");
httppost.addHeader("Connection", "keep-alive");
httppost.addHeader("Content-Type", "application/x-www-form-urlencoded");
httppost.addHeader("Accept-Language", "zh-CN,zh;q=0.8");
httppost.addHeader("Origin", "http://hi.mop.com");
httppost.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36");
response = httpclient.execute(httppost);
entity = response.getEntity();
// System.out.println("Login form get: " + response.getStatusLine());
EntityUtils.consume(entity);

// System.out.println("Post logon cookies:");
cookies = httpclient.getCookieStore().getCookies();
if (cookies.isEmpty()) {
// System.out.println("None");
} else {
for (int i = 0; i < cookies.size(); i++) {
// System.out.println("- " + cookies.get(i).toString());
}
}

//进行页面跳转
String url = ""; // 页面跳转
Header locationHeader = response.getFirstHeader("Location");
// System.out.println(locationHeader.getValue());
if (locationHeader != null) {
url = locationHeader.getValue(); // 得到跳转href
HttpGet httpget1 = new HttpGet(url);
response = httpclient.execute(httpget1);
// 登陆成功。。。hoho
}
entity = response.getEntity();
// System.out.println(response.getStatusLine());
if (entity != null) {
// System.out.println("Response content length: " + entity.getContentLength());
}
// 显示结果
BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8"));
String line = null;
while ((line = reader.readLine()) != null) {
// System.out.println(line);
}

//自动打卡
// 访问网站的子网页。
HttpPost httppost1 = new HttpPost("http://home.hi.mop.com/ajaxGetContinusLoginAward.do"); // 设置个人信息页面
httppost1.addHeader("Content-Type", "text/plain;charset=UTF-8");
httppost1.addHeader("Accept", "text/plain, */*");
httppost1.addHeader("X-Requested-With", "XMLHttpRequest");
httppost1.addHeader("Referer", "http://home.hi.mop.com/Home.do");
response = httpclient.execute(httppost1);
entity = response.getEntity();
// System.out.println(response.getStatusLine());
if(response.getStatusLine().toString().indexOf("HTTP/1.1 200 OK")>=0){
ret = true;
}
if (entity != null) {
// System.out.println("Response content length: " + entity.getContentLength());
}
// 显示结果
reader = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8"));
line = null;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (Exception e) {

} finally {
httpclient.getConnectionManager().shutdown();
}
return ret;
}
}

3. java如何利用httpclient 抓取登陆后的页面

说明你应该没复有登陆成制功或者没有使用登陆后的cookies。在浏览器中登陆看看返回的响应 ,再输出下登陆后获取的response的header 和 响应 看看和浏览器返回是否一致。重点看看你的cookies的值。

4. java 爬虫登陆网页

最简单的办法就是 在论坛页面审查元素,找到登录按钮,找到他的action,把它传到你的程序里面就好了,比如我现在回答你的问题,下面的提交回答按钮也会有一个action

5. java抓取登陆后的网页内容,是登陆后的内容,显示出来

一款java 强悍的htm一款java 强悍的html解析器 jar

6. Java访问指定URL并获取网页源代码

1.编写 类的基本框架,该类仅包括无返回值的main ()方法,该方法从参数中获取URL,通过输入缓冲和输出缓冲将该URL 原码输出。
2.编写useSourceViewer 类,代码如下:
import java.net.*;
import java.io.*;
public class useSourceViewer
{
public static void main (String[] args)
{
if (args.length > 0)
{
try
{
//读入URL
URL u = new URL(args[0]);
InputStream in = u.openStream( );
// 为增加性能存储输入流
in = new BufferedInputStream(in);
// 将输入流连接到阅读器
Reader r = new InputStreamReader(in);
int c;
while ((c = r.read( )) != -1)
{
System.out.print((char) c);
}
Object o = u.getContent( );
System.out.println("I got a " + o.getClass().getName( ));
}
catch (MalformedURLException e)
{
System.err.println(args[0] + " is not a parseable URL");
}
catch (IOException e)
{
System.err.println(e);
}
} // end if
} // end main
} // end SourceViewer}

7. 关于java一个登陆页面获取数据的实现,急

给你一个参考
httpclient 模拟登录,更加登录页面传参数 username 和 password 你先分析下那个页专面的登录用户名和密码的属属性名 然后传值进去

超简单,网络一下 httpclient get或post提交
成功后悔response数据给你,如果你还需要分析页面数据的话,再加个jsoup 框架做页面解析得到你要的数据

程序靠的是思想

8. java爬虫怎么抓取登陆后的网页数据

一般爬虫都不会抓登录以后的页面,
如果你只是临时抓某个站,可以模拟登录,然后拿到登录以后的Cookies,再去请求相关的页面。

9. java网络爬虫怎么实现抓取登录后的页面

原理即是保存cookie数据

保存登陆后的cookie.

以后每次抓取页面把cookie在头部信息版里面发送过去。

系统权是根据cookie来判断用户的。

有了cookie就有了登录状态,以后的访问都是基于这个cookie对应的用户的。

补充:Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

10. 如何java写/实现网络爬虫抓取网页

原理即是保存cookie数据复保存登陆后的制cookie.以后每次抓取页面把cookie在头部信息里面发送过去。系统是根据cookie来判断用户的。有了cookie就有了登录状态,以后的访问都是基于这个cookie对应的用户的。补充:Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

阅读全文

与java登录并抓取网页相关的资料

热点内容
0855影视手机在线观看免费 浏览:429
李采潭演过的作品 浏览:546
李采潭主演所有电影 浏览:145
中文在线免费看影视 浏览:656
手机不卡电影网在线看 浏览:782
午夜小电影网址大全 浏览:204
电脑看免费电影网站 浏览:38
神马影视大香蕉 浏览:480
cstar大数据 浏览:49
用苹果手机可以看的网站 浏览:361
免费看小电影的网站。 浏览:89
复制大文件怎么无响应 浏览:264
用appleid查找丢失的手机 浏览:154
山西儿童编程如何 浏览:491
电影频道放的歌,一男一女 浏览:382
wps安装后找不到所在文件夹 浏览:9
欧美全程高能爱情电影 浏览:303
殷桃演的抗日电影叫什么 浏览:656
大数据计算哪个国家发展快 浏览:15
php网页统计代码 浏览:967

友情链接