精华内容
下载资源
问答
  • importjava.io.BufferedReader;importjava.io.ByteArrayOutputStream;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamRea...

    importjava.io.BufferedReader;importjava.io.ByteArrayOutputStream;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.io.PrintStream;importjava.io.UnsupportedEncodingException;importjava.net.HttpURLConnection;importjava.net.MalformedURLException;importjava.net.URL;importjava.net.URLConnection;importorg.json.JSONArray;importorg.json.JSONObject;public classBaiduIdiomCrawer {public static voidmain(String[] args) {//BaiduIdiomCrawer test=new BaiduIdiomCrawer();

    newBaiduIdiomCrawer().test01();

    }public voidtest01() {//String myurl = "https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?resource_id=6848&from_mid=1&&format=json&ie=utf-8&oe=utf-8&query=%E6%88%90%E8%AF%AD&sort_key=&sort_type=1&stat0=&stat1=&stat2=&stat3=&pn=30&rn=30&cb=jQuery110206992364453617483_1449371069677&_=1449371069681";//String myurl="https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?resource_id=6848&from_mid=1&&format=json&ie=utf-8&oe=utf-8&query=%E6%88%90%E8%AF%AD&sort_key=&sort_type=1&stat0=&stat1=&stat2=&stat3=&pn=30&rn=30&_=1449371069681";

    String myurl;

    String content= newString();

    StringBuffer sb= newStringBuffer();try{

    String url2="https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?resource_id="

    + "28204&from_mid=1&&format=json&ie=utf-8&oe=utf-8&"

    + "query=%E6%88%90%E8%AF%AD%E8%AF%8D%E5%85%B8%E4%B8%8B%E8%BD%BD&sort_key=&"

    + "sort_type=1&stat0=&stat1=&stat2=&stat3=&pn=";

    String url1="&rn=30&_=1449376371822";//String url2="https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?resource_id=6848&from_mid=1&&format=json&ie=utf-8&oe=utf-8&query=%E6%88%90%E8%AF%AD&sort_key=&sort_type=1&stat0=&stat1=&stat2=&stat3=&pn=";//String url1="&rn=30&_=1449371069681";

    for (int j = 0; j < 1098; j++) {

    myurl= url2 + j * 30 +url1;

    System.out.println(j);//content=this.downloadToString(myurl, "utf-8");

    content=this.downloadToString(myurl);

    JSONObject jo= newJSONObject(content.toString());

    JSONArray jsonarray= jo.getJSONArray("data");if(j==690){

    System.out.println(j);

    }

    JSONObject jo1= jsonarray.getJSONObject(0);

    JSONArray jsonarray1= jo1.getJSONArray("result");for (int i = 0; i < jsonarray1.length(); i++) {

    JSONObject user=(JSONObject) jsonarray1.get(i);

    String userName= (String) user.get("ename");//System.out.println(userName);

    sb.append(userName + "\n");

    }

    }

    }catch(Exception e) {//TODO Auto-generated catch block

    e.printStackTrace();

    }try{

    PrintStream ps=new PrintStream(new File("result.txt"),"utf-8");

    ps.print(sb.toString());

    ps.close();

    }catch(FileNotFoundException e) {//TODO Auto-generated catch block

    e.printStackTrace();

    }catch(UnsupportedEncodingException e) {//TODO Auto-generated catch block

    e.printStackTrace();

    }

    System.out.println(sb.toString());

    }public String downloadToString(String url, String charset) throwsException {

    ByteArrayOutputStream output= newByteArrayOutputStream();try{

    HttpURLConnection http= (HttpURLConnection) (newURL(url)).openConnection();

    http.setReadTimeout(5 * 60 * 1000);//http.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");

    http.setRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.1.141.64 Safari/537.31");

    http.setRequestMethod("GET");

    http.setUseCaches(false);

    InputStream input=http.getInputStream();int ch = -1;while((ch = input.read()) != -1)

    output.write(ch);

    input.close();

    }catch(Exception ex) {

    ex.printStackTrace(System.out);

    }returnoutput.toString(charset);

    }publicString downloadToString(String u){

    StringBuffer sb= newStringBuffer();try{

    URL url= newURL(u);

    URLConnection connection=url.openConnection();

    InputStream is=connection.getInputStream();

    InputStreamReader isr= new InputStreamReader(is,"UTF-8");

    BufferedReader br= newBufferedReader(isr);

    String line;while((line=br.readLine())!=null){

    sb.append(line);

    }

    br.close();

    isr.close();

    is.close();

    }catch(MalformedURLException e) {//TODO Auto-generated catch block

    e.printStackTrace();

    }catch(IOException e) {//TODO Auto-generated catch block

    e.printStackTrace();

    }returnsb.toString();

    }

    }

    展开全文
  • package 抓取网页;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import org.apache.commons.httpclient.HttpClient;import org.apache....

    package 抓取网页;

    import java.io.FileOutputStream;

    import java.io.IOException;

    import java.io.InputStream;

    import java.io.OutputStream;

    import org.apache.commons.httpclient.HttpClient;

    import org.apache.commons.httpclient.HttpException;

    import org.apache.commons.httpclient.HttpStatus;

    import org.apache.commons.httpclient.NameValuePair;

    import org.apache.commons.httpclient.methods.PostMethod;

    public class RetrivePage {

    private static HttpClient httpClient = new HttpClient();

    public static void main(String[] args) {

    //抓取猎兔的首页,并且输出出来

    try {

    RetrivePage.downloadPage("http://www.lietu.com");

    } catch (HttpException e) {

    e.printStackTrace();

    } catch (IOException e) {

    e.printStackTrace();

    }

    }

    private static void downloadPage(String path) throws HttpException, IOException {

    System.out.println("123123");

    InputStream input = null;

    OutputStream output = null;

    //得到post方法

    PostMethod postMethod = new PostMethod(path);

    //设置post方法的参数

    NameValuePair[] postData = new NameValuePair[2];

    postData[0] = new NameValuePair("name","lietu");

    postData[1] = new NameValuePair("password","*****");

    //把参数添加到请求路径上去

    postMethod.addParameters(postData);

    //执行,返回状态码

    int statusCode = httpClient.executeMethod(postMethod);

    System.out.println(statusCode);

    if (statusCode == HttpStatus.SC_OK) {

    input = postMethod.getResponseBodyAsStream();

    //得到文件的名字

    String fileName = path.substring(path.lastIndexOf('/')+1);

    //获得文件的输出流

    System.out.println(fileName);

    output = new FileOutputStream(fileName);

    //输出到文件中

    int tempByte = -1;

    while ((tempByte = input.read()) > 0) {

    output.write(tempByte);

    }

    //关闭资源

    if (input != null) {

    input.close();

    }

    if (output != null) {

    output.close();

    }

    }

    }

    }

    展开全文
  • import java.io.IOException;import java.util.LinkedList;import java.util.List;import java.util.Queue;import java.util.regex.Matcher;import java.util.regex.Pattern;import org.jsoup.Jsou...

    package se.robot;

    import java.io.IOException;

    import java.util.LinkedList;

    import java.util.List;

    import java.util.Queue;

    import java.util.regex.Matcher;

    import java.util.regex.Pattern;

    import org.jsoup.Jsoup;

    import org.jsoup.nodes.Document;

    import org.jsoup.nodes.Element;

    import org.jsoup.select.Elements;

    public class Robot {

    // robot url

    private List urlList;

    // cache url

    private Queue urlQueue;

    // define Host

    public final static String HOST = "debugs.tk";

    // constructor

    public Robot() {

    super();

    // initialization robot's member

    setUrlList(new LinkedList());

    setUrlQueue(new LinkedList());

    }

    // url

    public List getUrlList() {

    return urlList;

    }

    public void setUrlList(List urlList) {

    this.urlList = urlList;

    }

    // cache

    public Queue getUrlQueue() {

    return urlQueue;

    }

    public void setUrlQueue(Queue urlQueue) {

    this.urlQueue = urlQueue;

    }

    // Legal link

    private boolean isURL(String url) {

    try {

    // judge url

    Pattern pattern = Pattern.compile("^[a-zA-z]+://[^\\\\s]*");

    Matcher matcher = pattern.matcher(url);

    if (matcher.matches()) {

    return true;

    } else {

    return false;

    }

    } catch (Exception e) {

    e.printStackTrace();

    return false;

    }

    }

    // whether the url is belong to host

    public static boolean isHost(String url) {

    return url.contains(HOST);

    }

    // travel all url

    public void traverse(String seed) {

    for (this.getUrlQueue().add(seed); !this.getUrlQueue().isEmpty();) {

    boolean flag = true;

    Document document = null;

    try {

    document = Jsoup.connect(seed).timeout(5000).get();

    } catch (IOException e) {

    e.printStackTrace();

    // whether connect success

    flag = false;

    }

    // whether connect success,then select a tag

    // add these aTag into queue

    if (flag) {

    // get url

    Elements elements = document.select("a[href]");

    for (Element e : elements) {

    String s = e.attr("abs:href");

    // Legal link and belong host

    // and url not in list

    // then add it

    if (isURL(s) && s.contains(HOST)

    && (!getUrlQueue().contains(s))

    && (!getUrlList().contains(s))) {

    this.getUrlQueue().add(s);

    }

    }

    }

    // get head of queue

    // and set it seed

    // travel seed it again

    seed = this.getUrlQueue().poll();

    this.getUrlList().add(seed);

    // show information

    // System.out.println("SIZE:"

    // + this.getUrlQueue().size() + "---"

    // + seed + " connect!");

    }

    }

    // public static void main(String[] args) {

    // Robot robot = new Robot();

    // robot.traverse("http://debugs.tk");

    // List list = robot.getUrlList();

    // for (String s : list) {

    // System.out.println(s);

    // }

    // }

    }

    展开全文
  • /*** 网页爬虫代码* @author Administrator*如果爬取的代码里面出现乱码,检查下你的eclipse的编码格式,默认的编码是GBK,可以改成UTF-8一般**就不会出现*/public class Main {public static void main(String[] ...

    /**

    * 网页爬虫代码

    * @author Administrator

    *如果爬取的代码里面出现乱码,检查下你的eclipse的编码格式,默认的编码是GBK,可以改成UTF-8一般**就不会出现

    */

    public class Main {

    public static void main(String[] args) {

    //定义即将访问的链接

    String url = "http://www.tuiyiizx.com";

    //定义一个字符串用来存储网页内容

    String result = "";

    //定义各一个缓冲字符输入流

    BufferedReader in = null;

    //将string转化为url对象

    URL realUrl;

    try {

    realUrl = new URL(url);

    //初始化一个链接到url的连接

    URLConnection connection = realUrl.openConnection();

    //开始实际链接

    connection.connect();

    //初始化Bufferedreader输入流来读取URL响应

    in =new BufferedReader

    (new InputStreamReader

    (connection.getInputStream()));

    //用于临时存储抓取到的每一行数据

    String line;

    while((line = in.readLine())!=null){

    result += line;

    }

    } catch (Exception e) {

    System.out.println("发送GET请求出现异常!"+e);

    e.printStackTrace();

    }finally{

    try {

    if(in !=null){

    in.close();

    }

    } catch (IOException e2) {

    e2.printStackTrace();

    }

    System.out.println(result);

    }

    }

    }

    ************************************************************

    ***************************************************************

    public class test01 {

    @Test

    public void test01() throws ClientProtocolException, IOException{

    //1.定义请求路径

    String url = "http://www.tuiyizx.com/";

    //2.创建httpClient

    CloseableHttpClient client =

    HttpClients.createDefault();

    //3.创建请求的方式get  post

    HttpGet httpGet = new HttpGet(url);

    //4.发起请求 获取相应信息

    CloseableHttpResponse httpResponse =

    client.execute(httpGet);

    //5.检测状态码信息是否是200

    if(httpResponse.getStatusLine().getStatusCode()==200){

    String result =

    EntityUtils.toString(httpResponse.getEntity());

    //6.获取返回值有效数据}

    System.out.println(result);

    }

    }

    }

    展开全文
  • Java爬虫+html网页解析

    2020-12-21 11:05:11
    Java爬虫+html网页解析 1、springboot项目,引入jsoup <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.10.2</version>...
  • Java爬虫抓取网页

    2021-03-15 23:52:35
    Java爬虫抓取网页原作者:hebedich原文链接下面直接贴代码:import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.URL;import java.net.URLConnection;import java.util.regex.Matcher;...
  • 【本文介绍】爬取别人网页上的内容,听上似乎很有趣的样子,只要几步,就可以获取到力所不能及的东西,例如呢?例如天气预报,总不能自己拿着仪器去测吧!当然,要获取天气预报还是用webService好。这里只是举个例子...
  • 网页爬虫的设计与实现(Java版)最近为了练手而且对网页爬虫也挺感兴趣,决定自己写一个网页爬虫程序。首先看看爬虫都应该有哪些功能。内容来自...
  • 原标题:如何用Java实现网络爬虫 微信公众号“书圈”后台回复【Javapachong1】,下载本例的PPT和源码作品描述本章作品是一个能够抓取指定网站ACM比赛信息的爬虫。ACM程序设计大赛是一项国际型的比赛,有很多训练编程...
  • 说起网络爬虫,大家想起的估计都是 Python ,诚然爬虫已经是 Python 的代名词之一,相比 Java 来说就要逊色不少。有不少人都不知道 Java 可以做网络爬虫,其实 Java 也能做网络爬虫而且还能做的非常好,在开源社区中...
  • 目标网络爬虫的是做什么的?...1.2. 简述网络爬虫是通过网页的链接地址来寻找网页,从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下...
  • java 爬虫实战

    2021-12-09 17:07:33
    java爬虫详解 1、第一个爬虫实践 所需要的maven依赖 <!--自动进行访问浏览器--> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</...
  • import java.io.IOException;import java.util.LinkedList;import java.util.List;import java.util.Queue;import java.util.regex.Matcher;import java.util.regex.Pattern;import org.jsoup.Jsoup;import org.jsou...
  • java爬虫入门技术我们需要用到http协议 从而建立java程序和网页的连接URL url = new URL("https://www.ivsky.com/tupian/ziranfengguang/");URLConnection urlConnection=url.openConnection();urlConnection....
  • java爬虫爬取网页内容,并导出到Excel

    千次阅读 2021-04-01 15:44:44
    准备的jar <!--json--> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>...
  • Java爬虫 文章目录 系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 一、爬虫是什么? 简单来讲,爬虫就是一个探测机器,它的基本操作就是模拟人的行为去各个...
  • Java-爬虫工具类

    2021-05-28 14:18:53
    Java爬取网页的简易工具类 使用工具类前先导入依赖 (jsoup解析网页 , 不能解析视频 , 音乐 ) <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <...
  • 本文实例讲述了JAVA使用爬虫抓取网站网页内容的方法。分享给大家供大家参考。具体如下:最近在用JAVA研究下爬网技术,呵呵,入了个门,把自己的心得和大家分享下以下提供二种方法,一种是用apache提供的包.另一种是用...
  • 需求:抓取一个网页(比如www.lianhehuishang.com)中的url地址,并存到F:\spider_url.txt文件中。程序:package com.zheng;import java.io.BufferedReader;import java.io.FileWriter;import java.io.IOException;...
  • 1.网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放...
  • 1、springboot项目,引入jsouporg.jsoupjsoup1.10.22、准备解析对象Content.javapackagecom.asia.pojo;importlombok.AllArgsConstructor;importlombok.Data;...//java项目www.fhadmin.org@Data@No...
  • java爬虫 新浪微博

    2021-02-12 17:17:58
    ViewCodepackagecom.sreach.spider;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.OutputStreamWriter;importjava.util.regex...
  • java爬虫爬取网页内容

    2021-04-24 13:16:52
    2、Java爬虫网页网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这...
  • /* 网页爬虫 即:从网页中获取符合正则表达式的字符串或内容 从网络中获取邮箱地址 */ import java.io.*; import java.util.regex.*; import java.net.*; class MailTest { public static void main(String[] args...
  • 在这直接贴一个我实测可用的版本: python版本:3.7\ geckodriver版本:0.17\ firefox版本:50.0b8\ selenium版本:3.6 之所以贴了个python是因为我正在用python写,之前用JAVA也写了一版,可以忽略这个;geckodriver...
  • import java.io.*;importjava.net.URL;importjava.net.URLConnection;import java.util.*;importjava.util.regex.Matcher;importjava.util.regex.Pattern;public classMain {//地址private static final String URL ...
  • java爬虫入门

    2021-02-26 14:08:13
    网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。...
  • WebSPHINXWebSPHINX是一个Java类包和Web爬虫的交互式开发环境。Web爬虫(也叫作机器人或蜘蛛)是可以自动浏览与处理Web页面的程序。WebSPHINX由两部分组成:爬虫工作平台和WebSPHINX类包。WebLech...
  • 获取百度新闻中所有的中国新闻的标题时间来源1 获取网页2 public static String getContent(String str) throwsClientProtocolException, IOException {3 CloseableHttpClient closeableHttpClient=HttpClients....
  • java爬虫和python爬虫哪个好

    千次阅读 2021-03-01 09:34:25
    各种爬虫框架,方便高效的下载网页;2.多线程、进程模型成熟稳定,爬虫是一个典型的多任务处理场景,请求页面时会有较长的延迟,总体来说更多的是等待。多线程或进程会更优化程序效率,提升整个系统下载和分析能力。3...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,868
精华内容 11,947
关键字:

网页爬虫java

java 订阅
爬虫 订阅