import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Demoppp {
    public static List<String> getTagTitile_Wenzi(String content)
    {
        String regex ="title="+'"'+"[^=]+"+'"';
        Pattern pa = Pattern.compile(regex);
        Matcher ma = pa.matcher(content);
        List<String> list = new ArrayList<String>();
        while (ma.find()) {
            list.add(ma.group());
        }
        return list;
        
        
    }

public static List<String> getTagA_WenZi(String content)
    {
        
        String regex = "<a.*?</a>";
        Pattern pa = Pattern.compile(regex);
        Matcher ma = pa.matcher(content);
        List<String> list = new ArrayList<String>();
        while (ma.find()) {
            list.add(ma.group());
        }
        return list;
        
    }
    
    
    public static void main(String[] args) throws IOException {
        String surl="http://login.kaixin001.com/";
        URL url=new URL(surl);
        HttpURLConnection connectionss=(HttpURLConnection) url.openConnection();
        connectionss.setDoOutput(true);
        OutputStreamWriter out=new OutputStreamWriter(connectionss.getOutputStream(),"utf-8");
        out.write("email=619617021@qq.com&password=4565892");//Post关键所在
        out.flush();
        out.close();
        String cookieVal = connectionss.getHeaderField("Set-Cookie");
        String url2="http://www.kaixin001.com/photo/albumlist.php";
        URL url3=new URL(url2);
        HttpURLConnection connectionsf=(HttpURLConnection) url3.openConnection();
        if (cookieVal!=null) {
            connectionsf.setRequestProperty("Cookie", cookieVal);
        }
            
        connectionsf.connect();
        InputStream urlStream=connectionsf.getInputStream();
        BufferedReader bk=new BufferedReader(new InputStreamReader(urlStream,"utf-8"));
        String  ss = null;  
        String total = "";
        while ((ss=bk.readLine())!=null) {
            
            total+=ss;
        }
        //System.out.println(total);
        
        List<String> TVALUE=getTagTitile_Wenzi(total);
        for (int i = 0; i < TVALUE.size(); i++) {
            String aString=TVALUE.get(i).replaceAll("[\\w]+|="+"|"+'"',"").trim();
            System.out.println(aString);
        }
        
    System.out.println("a标签的东西");
    List<String> aTagString=getTagA_WenZi(total);
    for (int i = 0; i < aTagString.size(); i++) {
        
        String aString=aTagString.get(i).replaceAll("<[^>]+>","").trim();
        
        System.out.println(aString);
    
    }
    }
    
}

java模拟用户登录(排除没有验证码情况下,抓取网页信息)的更多相关文章

  1. 模拟用户登录,内含验证码验证和request等操作

    模拟用户登录,内含验证码验证和jsp等操作 1.案例需求: 1. 访问带有验证码的登录页面login.jsp 2. 用户输入用户名,密码以及验证码. * 如果用户名和密码输入有误,跳转登录页面,提示: ...

  2. HttpClient(二)-- 模拟浏览器抓取网页

    一.设置请求头消息 User-Agent模拟浏览器 1.当使用第一节的代码 来 访问推酷的时候,会返回给我们如下信息: 网页内容:<!DOCTYPE html> <html> ...

  3. java.net.URL 模拟用户登录网页并维持session

    java.net.URL 模拟用户登录网页并维持session 半成品,并非完全有用 import java.io.BufferedReader; import java.io.InputStream ...

  4. java.net.URL 模拟用户登录网页并维持session【转】

    java.net.URL 模拟用户登录网页并维持session 半成品,并非完全有用 import java.io.BufferedReader; import java.io.InputStream ...

  5. Redis缓存Mysql模拟用户登录Java实现实例[www]

    Redis缓存Mysql模拟用户登录Java实现实例 https://jingyan.baidu.com/article/09ea3ede1dd0f0c0aede3938.html redis+mys ...

  6. xpath技术解析xml以及案例模拟用户登录效果

    问题:当使用dom4j查询比较深的层次结构的节点(标签,属性,文本),比较麻烦!!! xpath就在此情况下产生了--主要是用于快速获取所需的[节点对象]. 在dom4j中如何使用xPath技术 1) ...

  7. 运用String类实现一个模拟用户登录程序

    package Test; import java.util.Scanner; // 模拟用户登录程序 // 思路: // 1.用两个String类分别接收用户名和密码 // 2.判断输入的用户名和密 ...

  8. jdbc封装模拟用户登录

    dao层 接口 package com.qu.dao; public interface ILoginDAO { /** * 模拟用户登录 * 验证用户名 密码是否正确 * select * from ...

  9. python 初学习 模拟用户登录

    #!/usr/bin/env python#coding:utf-8''' 2017年8月19日 模拟用户登录,userfile 文件保存字典 用户名,和密码 sorryname 文件保存字典 登录过 ...

随机推荐

  1. ubuntu 安装 boost

    1.tar -zxvf  boost_1_43_0.tar.gz 2.cd boost_1_43_0, 执行: sudo ./bootstrap.sh sudo ./bjam install 检验安装 ...

  2. java连接SQLserver

    1.pom.xml添加: <dependency>            <groupId>com.hynnet</groupId>            < ...

  3. 用Navicat连接Oracle数据库时报错ORA-28547:connection to server failed,probable Oracle Net admin error

    用Navicat连接Oracle数据库时出现如下错误 上网一查原来是oci.dll版本不对.因为Navicat是通过Oracle客户端连接Oracle服务器的,Oracle的客户端分为两种,一种是标准 ...

  4. 请使用GameBench.jar 文件启动 GameBench服务

    请使用GameBench.jar 文件启动 GameBench服务 电脑上安装JAVA JRE:http://www.oracle.com/technetwork/java/javase/downlo ...

  5. 106. Construct Binary Tree from Inorder and Postorder Traversal

    Given inorder and postorder traversal of a tree, construct the binary tree. Note:You may assume that ...

  6. [linux basic 基础]----同步信号量

    直接使用一个共享变量,来是两个线程之间进行切换是非常笨拙而且没有效率的:信号量--互斥量--这两者是相互通过对方来实现的:比如,如果想控制某一时刻只有一个线程可以访问一些共享内存,使用互斥量要自然一些 ...

  7. 使用BlockingQueue的生产者消费者模式

    BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题.通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利.使用场景. 首先它是一个队列,而一个队 ...

  8. Spark 1.4连接mysql诡异的问题及解决

    在spark-default.conf文件中明明配置了mysql的数据源连接 随后启动spark-shell 执行如下测试代码: import org.apache.spark.{SparkConte ...

  9. lower_bound实现函数

    lower_bound实现 [参考链接]lower_bound二分的三种写法 我在以前,总是用lower_bound,现在发现这样不行,有些复杂的数据结构二分的时候用这个会很麻烦,不如手写二分,我接着 ...

  10. CF 500 C. New Year Book Reading 贪心 简单题

    New Year is coming, and Jaehyun decided to read many books during 2015, unlike this year. He has n b ...