精华内容
下载资源
问答
  • 爬取网页数据代码 解析代码 解析介绍 完整代码 介绍 1.爬取通过org.jsoup和HttpClients实现 2.爬取多页内容的时候进行循环,多页进行爬取 3.爬取来数据解析到jsonoup 4.取回数据使用文件保存直接保存到...

    预览结果视图

     

    目录

    预览结果视图

    介绍

    代码

    依赖

    爬取网页数据代码

    解析代码

    解析介绍

    完整代码


     

    介绍

    1.爬取通过org.jsoup 和HttpClients实现

    2.爬取多页内容的时候进行循环,多页进行爬取

    3.爬取来数据解析到jsonoup

    4.取回数据使用文件保存直接保存到本地

    5.文件保存成excel 可以产考我的另一篇文章 https://yushen.blog.csdn.net/article/details/111580547

    6.最后直接用完整代码即可

     

    代码

    依赖

    
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
    
    import org.apache.http.HttpEntity;
    import org.apache.http.client.methods.CloseableHttpResponse;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.util.EntityUtils;
    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    import org.jsoup.nodes.Element;
    import org.jsoup.select.Elements;
    
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.OutputStream;
    
    import org.apache.poi.xssf.usermodel.XSSFCell;
    import org.apache.poi.xssf.usermodel.XSSFRow;
    import org.apache.poi.xssf.usermodel.XSSFSheet;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;
    
    import com.alibaba.fastjson.JSONArray;
    

    调用循环代码

    /**
    	 * 爬取 任务 001 爬取xx数据
    	 * 	爬取xx网高中xx学xx版本100页数据
    	 * 
    	 * @param url
    	 * @throws InterruptedException 
    	 */
    	public static void crawlingTask001() throws InterruptedException {
    
    		// ----------------------------------代办任务开始--------------------------
    
    		// 爬取xx网 试卷栏目 文字版 其他选项不限
    	
    		// 创建存储
    		List<List<String>> list0 = new ArrayList<List<String>>();
    
    		// ----------------------------------爬取,任务--------------------------
    
    		System.out.println(new Date() + "爬取,任务执行开始!");
    
    		// 爬取数据
    		for (int i = 1; i < 2; i++) {
    			Thread.sleep(500);
    			String url = "https://www.xx.com/sf/vsearch?pd=igI&rsv_bp=1&f=8&async=1&pn="+ i;
    			List<String> list = crawlingData(url);
    			list0.add(list);
    		}
    		System.out.println(new Date() + "爬取,任务执行完毕!");
    
    		
    		// ----------------------------------读取爬取数据,任务--------------------------
    		System.out.println(new Date() + "读取爬取数据,任务执行开始!");
    
    		JSONArray ja = new JSONArray();
    		// 读取数据
    		for (int i = 0; i < list0.size(); i++) {
    
    			List<String> list01 = list0.get(i);
    			System.out.println("第:" + (i + 1) + "页内容,共计:" + list01.size() + "条数据!");
    			for (int j = 0; j < list01.size(); j++) {
    				System.out.println(j + "号文件地址:" + list01.get(j));
    				ja.add(list01.get(j));
    				// TODO 1.之后这里进行对每个页面进行读取 2.获取文件内容中图片 3.下载到本地 并生成对应文件夹河对应word文档中
    			}
    		}
    		System.out.println(new Date() + "读取爬取数据,任务执行完毕!");
    
    		
    		// ----------------------------------数据存入持久化磁盘,任务--------------------------
    		System.out.println(new Date() + "数据存入持久化磁盘,任务执行开始!");
    		spider(ja); 
    		System.out.println(new Date() + "数据存入持久化磁盘,任务执行完毕!");
    
    				
    				
    		// ----------------------------------代办任务结束--------------------------
    
    		
    	}
    

     

    爬取网页数据代码

    // 根据url地址获取对应页面的HTML内容,我们将上一节中的内容打包成了一个方法,方便调用
    	public static String getHTMLContent(String url) throws IOException {
    		// 建立一个新的请求客户端
    		CloseableHttpClient httpClient = HttpClients.createDefault();
    		// 使用HttpGet方式请求网址
    		HttpGet httpGet = new HttpGet(url);
    		httpGet.setHeader("User-Agent","Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0"); // 设置请求头消息User-Agent
    		// 获取网址的返回结果
    		CloseableHttpResponse response = httpClient.execute(httpGet);
    		// 获取返回结果中的实体
    		HttpEntity entity = response.getEntity();
    		String content = EntityUtils.toString(entity);
    		// 关闭HttpEntity流
    		EntityUtils.consume(entity);
    		return content;
    	}

     

    解析代码

    /**
    	 * 爬取数据 获取出url
    	 * 
    	 * @param url
    	 */
    	public static List<String> crawlingData(String url) {
    		String rawHTML = null;
    		try {
    			rawHTML = getHTMLContent(url);
    		} catch (IOException e) {
    			e.printStackTrace();
    			System.out.println(e.toString());
    		}
    		// System.out.println("抓取网页:"+rawHTML);
    		// 将当前页面转换成Jsoup的Document对象
    		Document doc = Jsoup.parse(rawHTML);
    
    		// 获取所有的博客列表集合
    		// Elements blogList = doc.select("p[class=content]");
    
    		Elements blogList = doc.select("div[class=video_list video_short]");
    
    		// System.out.println("解析列表:"+rawHTML);
    		List<String> list = new ArrayList<String>();
    		// 针对每个博客内容进行解析,并输出
    		for (Element element : blogList) {
    
    			String href = element.select("a[class=small_img_con border-radius]").attr("href");
    			 
    			String vidoeTime = element.select("div[class=time_con]").select("span[class=video_play_timer]").text();
    			
     			String name = element.select("div[class=video_small_intro]").select("a[class=video-title c-link]").text();
    			
    			String ly = element.select("div[class=c-color-gray2 video-no-font]").select("span[class=wetSource c-font-normal]").text();
    			
    			String uploadtime = element.select("div[class=c-color-gray2 video-no-font]").select("span[class=c-font-normal]").text();
    			
    			list.add(href 
    					+ ",__," + name
    					+ ",__," + uploadtime
    					+ ",__," + vidoeTime
    					+ ",__," + href
    					+ ",__," +href
    					+ ",__," + ly);
    //			 System.out.println(href + ",__," + name+ ",__," + datetime+ ",__," + uploadname+ ",__," + uploadnamemasterurl);
    
    		}
    		return list;
    	}

     

    解析介绍

    1.这里的 element.select("div[class=time_con]") 和js中jquery 中的选择器材差不多

    2.父子及,可以使用select xx .select 这样使用

    3.出结果可以attr("xx")  或  text()

    4.jsonup 和poi 的maven 依从网上随便用没啥版本影响

     

    完整代码

    package com.superman.test;
    
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
    
    import org.apache.http.HttpEntity;
    import org.apache.http.client.methods.CloseableHttpResponse;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.util.EntityUtils;
    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    import org.jsoup.nodes.Element;
    import org.jsoup.select.Elements;
    
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.OutputStream;
    
    import org.apache.poi.xssf.usermodel.XSSFCell;
    import org.apache.poi.xssf.usermodel.XSSFRow;
    import org.apache.poi.xssf.usermodel.XSSFSheet;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;
    
    import com.alibaba.fastjson.JSONArray;
    
    
    /**
     * 爬取xx数据全网视频xx词搜索对应视频
     * 
     * 调用xx查询
     * 爬取服务  根据关键词爬取视频网站数据
     * 侵权线索
     * 
     * 导出excel
     * 
     * @author jianghy
     *
     */
    public class DataLearnerCrawlerSPWZv2 {
    
    	public static void main(String[] args) throws InterruptedException {
    		crawlingTask001();
    
    	}
    
    	/**
    	 * 爬取 任务 001 爬取 xx数据
    	 * 	爬取xxxx字版本100页数据
    	 * 
    	 * @param url
    	 * @throws InterruptedException 
    	 */
    	public static void crawlingTask001() throws InterruptedException {
    
    		// ----------------------------------代办任务开始--------------------------
    
    		// 爬xx xx栏目 文字版 其他选项不限
    	
    		// 创建存储
    		List<List<String>> list0 = new ArrayList<List<String>>();
    
    		// ----------------------------------爬取,任务--------------------------
    
    		System.out.println(new Date() + "爬取,任务执行开始!");
    
    		// 爬取数据
    		for (int i = 1; i < 2; i++) {
    			Thread.sleep(500);
    			String url = "https://www.xx.com/sf/vsearch?pd=video&tn=vsearch&lid=b3581e7000011f50&ie=utf-8&rsv_pq=b3581e7000011f50&wdxhJiHsELdcqFigI&rsv_bp=1&f=8&async=1&pn="+ i;
    			List<String> list = crawlingData(url);
    			list0.add(list);
    		}
    		System.out.println(new Date() + "爬取,任务执行完毕!");
    
    		
    		// ----------------------------------读取爬取数据,任务--------------------------
    		System.out.println(new Date() + "读取爬取数据,任务执行开始!");
    
    		JSONArray ja = new JSONArray();
    		// 读取数据
    		for (int i = 0; i < list0.size(); i++) {
    
    			List<String> list01 = list0.get(i);
    			System.out.println("第:" + (i + 1) + "页内容,共计:" + list01.size() + "条数据!");
    			for (int j = 0; j < list01.size(); j++) {
    				System.out.println(j + "号文件地址:" + list01.get(j));
    				ja.add(list01.get(j));
    				// TODO 1.之后这里进行对每个页面进行读取 2.获取文件内容中图片 3.下载到本地 并生成对应文件夹河对应word文档中
    			}
    		}
    		System.out.println(new Date() + "读取爬取数据,任务执行完毕!");
    
    		
    		// ----------------------------------数据存入持久化磁盘,任务--------------------------
    		System.out.println(new Date() + "数据存入持久化磁盘,任务执行开始!");
    		spider(ja); 
    		System.out.println(new Date() + "数据存入持久化磁盘,任务执行完毕!");
    
    				
    				
    		// ----------------------------------代办任务结束--------------------------
    
    		
    	}
    
    	/**
    	 * 爬取数据 获取出url
    	 * 
    	 * @param url
    	 */
    	public static List<String> crawlingData(String url) {
    		String rawHTML = null;
    		try {
    			rawHTML = getHTMLContent(url);
    		} catch (IOException e) {
    			e.printStackTrace();
    			System.out.println(e.toString());
    		}
    		// System.out.println("抓取网页:"+rawHTML);
    		// 将当前页面转换成Jsoup的Document对象
    		Document doc = Jsoup.parse(rawHTML);
    
    		// 获取所有的博客列表集合
    		// Elements blogList = doc.select("p[class=content]");
    
    		Elements blogList = doc.select("div[class=video_list video_short]");
    
    		// System.out.println("解析列表:"+rawHTML);
    		List<String> list = new ArrayList<String>();
    		// 针对每个博客内容进行解析,并输出
    		for (Element element : blogList) {
    
    			String href = element.select("a[class=small_img_con border-radius]").attr("href");
    			 
    			String vidoeTime = element.select("div[class=time_con]").select("span[class=video_play_timer]").text();
    			
     			String name = element.select("div[class=video_small_intro]").select("a[class=video-title c-link]").text();
    			
    			String ly = element.select("div[class=c-color-gray2 video-no-font]").select("span[class=wetSource c-font-normal]").text();
    			
    			String uploadtime = element.select("div[class=c-color-gray2 video-no-font]").select("span[class=c-font-normal]").text();
    			
    			list.add(href 
    					+ ",__," + name
    					+ ",__," + uploadtime
    					+ ",__," + vidoeTime
    					+ ",__," + href
    					+ ",__," +href
    					+ ",__," + ly);
    //			 System.out.println(href + ",__," + name+ ",__," + datetime+ ",__," + uploadname+ ",__," + uploadnamemasterurl);
    
    		}
    		return list;
    	}
    
    	// 根据url地址获取对应页面的HTML内容,我们将上一节中的内容打包成了一个方法,方便调用
    	public static String getHTMLContent(String url) throws IOException {
    		// 建立一个新的请求客户端
    		CloseableHttpClient httpClient = HttpClients.createDefault();
    		// 使用HttpGet方式请求网址
    		HttpGet httpGet = new HttpGet(url);
    		httpGet.setHeader("User-Agent","Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0"); // 设置请求头消息User-Agent
    		// 获取网址的返回结果
    		CloseableHttpResponse response = httpClient.execute(httpGet);
    		// 获取返回结果中的实体
    		HttpEntity entity = response.getEntity();
    		String content = EntityUtils.toString(entity);
    		// 关闭HttpEntity流
    		EntityUtils.consume(entity);
    		return content;
    	}
    
    	 
    
    }
    

     

    文中很多地方换成了xx ,使用的时候自己患上自己要爬取的网站信息即可ok

     

    有需要随时留言,唠唠 ^_^

     

     

    ok

     

     

     

     

    持续更新

     

     

     

     

     

     

    展开全文
  • Java爬取网页数据

    千次阅读 2019-03-20 19:21:39
    要爬的网页:...要的数据在源代码这部分: 首先定义数据: public class Information { String type; String volume; String money; String market_value; String numb...

    要爬的网页:http://quote.eastmoney.com/zs000001.html
    要爬这部分数据:
    在这里插入图片描述

    要的数据在源代码这部分:
    在这里插入图片描述
    首先定义数据:

    public class Information {
        String type;
        String volume;
        String money;
        String market_value;
        String number;
        String price_earnings_ratio;
        public void setType(String type){
            this.type = type;
        }
        public String getType(){
            return type;
        }
        public void setVolume(String volume){
            this.volume = volume;
        }
        public String getVolume(){
            return volume;
        }
        public void setMoney(String money){
            this.money = money;
        }
        public String getMoney(){
            return money;
        }
        public void setMarket_value(String  market_value){
            this.market_value = market_value;
        }
        public String  getMarket_value(){
            return market_value;
        }
        public void setNumber(String  number){
            this.number = number;
        }
        public String  getNumber(){
            return number;
        }
        public void setPrice_earnings_ratio(String  price_earnings_ratio){
            this.price_earnings_ratio = price_earnings_ratio;
        }
        public String getPrice_earnings_ratio(){
            return price_earnings_ratio;
        }
    }
    

    i

    mport org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
    import org.apache.commons.httpclient.HttpClient;
    import org.apache.commons.httpclient.HttpException;
    import org.apache.commons.httpclient.HttpStatus;
    import org.apache.commons.httpclient.methods.GetMethod;
    import org.apache.commons.httpclient.params.HttpMethodParams;
    
    import java.io.*;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    
    public class AlmanacUtil {
    
        public AlmanacUtil() {
    
        }
    //获得源码
        public String getdata(String url) {
            String data = null;
            org.apache.commons.httpclient.HttpClient client = new HttpClient();
            GetMethod getMethod = new GetMethod(url);
            getMethod.setRequestHeader("User_Agent", "Mozilla/5.0(Windows NT 6.1;Win64;x64;rv:39.0) Gecko/20100101 Firefox/39.0");
            getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler());//系统默认的恢复策略
            try {
                int statusCode = client.executeMethod(getMethod);
                if (statusCode != HttpStatus.SC_OK) {
                    System.out.println("Wrong");
                }
                byte[] responseBody = getMethod.getResponseBody();
                data = new String(responseBody);
                return data;
    
            } catch (HttpException e) {
                System.out.println("Please check your provided http address!");
                data = "";
                e.printStackTrace();
    
            } catch (IOException e) {
                data = "";
                e.printStackTrace();
            } finally {
    
                getMethod.releaseConnection();
    
            }
            return data;
        }
    
        //想要获取字段部分的分割模式
        static Pattern proInfo = Pattern.compile("<td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td>" +
                "<td>(.*?)</td><td>(.*?)</td>", Pattern.DOTALL);
    
        private static List<Information> getDataStructure(String str) {
            //想要获取的整段数据的分割模式
            String[] info = str.split("</tr>");
            List<Information> list = new ArrayList<Information>();
            for (String s : info) {
                Matcher m = proInfo.matcher(s);
                Information information = null;
                if (m.find()) {
                    information = new Information();
                    String ss = m.group(1).trim();
                    information.setType(ss);
                    information.setVolume(m.group(2).trim());
                    information.setMoney(m.group(3).trim());
                    information.setMarket_value(m.group(4).trim());
                    information.setNumber(m.group(6).trim());
                    information.setPrice_earnings_ratio(m.group(7).trim());
                    list.add(information);
                }
            }
            return list;
        }
    
        public static void main(String[] args) throws IOException {
            AlmanacUtil almanacUtil = new AlmanacUtil();
            String ss = almanacUtil.getdata("http://quote.eastmoney.com/zs000001.html");
            List<Information> list = getDataStructure(ss);
            String string = "";
            for (int k = 0; k < list.size(); k++) {
                String s = "类别:" + list.get(k).getType() + " " + "成交量:" + list.get(k).volume + " " +
                        "成交金额:" + list.get(k).getMoney() + " " + "总市值:" + list.get(k).getMarket_value() +
                        " " + "上市公司(家):" + list.get(k).getNumber() + " " + "平均市盈率:" + list.get(k).getPrice_earnings_ratio() + "\n";
                string = string + s;
            }
            System.out.println(string);
            File f = new File("D:" + File.separator + "gupiao.txt");//存在D盘guipiao.txt里
            OutputStream out = null;
            out = new FileOutputStream(f);
            byte b[] = string.getBytes();
            out.write(b);
            out.close();
        }
    }
    
    展开全文
  • java爬取网页数据

    2018-03-30 23:06:00
    最近使用java实现了一个简单的网页数据抓取,下面是实现原理及实现代码: 原理:使用java.net下面的URL对象获取一个链接,下载目标网页的源代码,利用jsoup解析源代码中的数据,获取你想要的内容 1.首先是根据网址...

    最近使用java实现了一个简单的网页数据抓取,下面是实现原理及实现代码:

    原理:使用java.net下面的URL对象获取一个链接,下载目标网页的源代码,利用jsoup解析源代码中的数据,获取你想要的内容

    1.首先是根据网址下载源代码:

    /**
         * 根据网址和编码下载源代码
         * @param url 目标网址
         * @param encoding 编码
         * @return
         */
        public static String getHtmlResourceByURL(String url,String encoding){
            
            //存储源代码容器
            StringBuffer buffer = new StringBuffer();
            URL urlObj = null;
            URLConnection uc = null;
            InputStreamReader isr = null;
            BufferedReader br =null;
            try {
                //建立网络连接
                urlObj = new URL(url);
                //打开网络连接
                uc = urlObj.openConnection();
                //建立文件输入流
                isr = new InputStreamReader(uc.getInputStream(),encoding);
                InputStream is = uc.getInputStream();
                //建立文件缓冲写入流
                br = new BufferedReader(isr);
                FileOutputStream fos = new FileOutputStream("F:\\java-study\\downImg\\index.txt");
                
                //建立临时变量
                String temp = null;
                while((temp = br.readLine()) != null){
                    buffer.append(temp + "\n");
                }
    //            fos.write(buffer.toString().getBytes());
    //            fos.close();
            } catch (MalformedURLException e) {
                e.printStackTrace();
                System.out.println("网络不给力,请检查网络设置。。。。");
            }catch (IOException e){
                e.printStackTrace();
                System.out.println("你的网络连接打开失败,请稍后重新尝试!");
            }finally {
                try {
                    isr.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            
            return buffer.toString();
        }

    2.根据下载源代码解析数据,获取你想要的内容,这里我获取的是图片,你也可以获取贴吧里邮箱,电话号码等

    /**
         * 获取图片路劲
         * @param url 网络路径
         * @param encoding 编码
         */
        public static void downImg(String url,String encoding){
            String resourceByURL = getHtmlResourceByURL(url, encoding);
            //2.解析源代码,根据网络图像地址,下载到服务器
            Document document = Jsoup.parse(resourceByURL);        
            //获取页面中所有的图片标签
            Elements elements = document.getElementsByTag("img");
            
            for(Element element:elements){
                //获取图像地址
                String src = element.attr("src");
                //包含http开头
                if (src.startsWith("http") && src.indexOf("jpg") != -1) {
                    getImg(src, "F:\\java-study\\downImg");
                }
            }
        }

    3.根据获取的图片路径,下载图片,这里我下载的是携程网的内容

    /**
         * 下载图片
         * @param imgUrl 图片地址
         * @param filePath 存储路劲
         * 
         */
        public static void getImg(String imgUrl,String filePath){
            
            String fileName = imgUrl.substring(imgUrl.lastIndexOf("/"));
            
            try {
                //创建目录
                File files = new File(filePath);
                if (!files.exists()) {
                    files.mkdirs();
                }
                //获取地址
                URL url = new URL(imgUrl);
                //打开连接
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                //获取输入流
                InputStream is = connection.getInputStream();
                File file = new File(filePath + fileName);
                //建立问价输入流
                FileOutputStream fos = new FileOutputStream(file);
                
                int temp = 0;
                while((temp = is.read()) != -1){
                    fos.write(temp);
                }
                is.close();
                fos.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    最后是调用过程

    public static void main(String[] args) {
            
            //1.根据网址和页面编码集获取网页源代码
            String encoding = "gbk";
            String url = "http://vacations.ctrip.com/";
            //2.解析源代码,根据网络图像地址,下载到服务器
            downImg(url, encoding);
            
        }

    总结:根据上面的实现的简单数据爬取,存在着一些问题,我爬取的旅游页面有很多图片,根据img属性获取其src中的地址,从而下载该图片,但是该页面有很多图片,结果自己却只能爬到一小部分,如下图:

    我将下载的源代码写入文件,和原网页中做对比,基本上页面旅游的图片一张没有,源代码中也没有,不知道为什么,请求广大网友的解答

    转载于:https://www.cnblogs.com/linlinyu/p/8679216.html

    展开全文
  • 爬取网页数据的demo 1.引入依赖jsoup <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.10.2</version> </dependency> ...

    爬取网页数据的demo

    1.引入依赖jsoup

    <dependency>
                <groupId>org.jsoup</groupId>
                <artifactId>jsoup</artifactId>
                <version>1.10.2</version>
            </dependency>
    

    2.代码测试

    public List<Map<String,String>> getData() throws Exception {
            //爬取的网页
            String url = "https://search.jd.com/Search?keyword=java";
            //document  相当于是个js 直接操作js一样    必须要联网
            Document document = Jsoup.parse(new URL(url), 3000);
            Element element = document.getElementById("J_goodsList");
            Elements elements = element.getElementsByTag("li");
            List<Map<String,String>> list = new ArrayList<>();
            for (Element element1 : elements) {
                String price = element1.getElementsByClass("p-price").eq(0).text();
                String title = element1.getElementsByClass("p-name").eq(0).text();
                //懒加载的方式  所以调用data-lazy-img这个属性,而不是 src
                String image = element1.getElementsByTag("img").eq(0).attr("data-lazy-img");
                Map<String,String> map = new HashMap<>();
                map.put("price",price);
                map.put("title",title);
                map.put("image",image);
                Content content = new Content();
                content.setImg(image);
                content.setPrice(price);
                content.setTitle(title);
                list.add(map);
            }
    
            return list;
    
        }
    
    展开全文
  • 最近有一个任务抓取如下图的网页数据 要获取前一天的数据进行翻页抓取数据并存入数据库   如果就只是抓取当前页的数据 没有条件和翻页数据 这个就比较简单了 但是要选取前一天的数据,还有分页数据 一开始...
  • Java爬虫爬取网页数据

    2017-11-07 20:38:13
    此工具可用于网页数据爬取代码中本身就有一个demo,自行参考使用
  • Java爬虫爬取网页数据-基于Jsoup前言一.准备二.代码(使用Jsoup的核心就两步)三.效果爬虫项目地址 前言 本文主要介绍简单的使用Jsoup爬取网页数据 框架 SpringBoot + Jsoup 每一个步骤我都是进行独立封装起来,方便...
  • Java实现爬取网页数据

    千次阅读 2015-10-29 19:08:28
    最近,由于某些需要,用Java制做了一个网页数据采集器,用于将网页中需要的数据采集下来。 这里使用的方法,是先得到要采集的网页的源代码,然后从源代码中使用正则表达式得到要采集的数据。
  • java简易的网页数据爬取,根据网站地址拉取网页,利用正则提取所需数据模块范围,利用截取标签获取具体数据 代码如下: package com.example.springbootdemo.test; import java.io.BufferedReader; import java....
  • java Jsoup 爬取网页数据

    千次阅读 2017-09-21 16:17:16
    先上一段代码,然后在慢慢分析。 public class Test { public static void main(String args[]) throws Exception { Document doc = Jsoup.connect("http://www.cjmsa.gov.cn/9/368/2/39/62/").get();// 解析该
  • 最近在做一个关于数据爬取的功能,在此记录一下。(该功能主要是模拟表单提交后获取提交后的页面的数据,我们再进行处理)本文章用(http://www.suanmingde.com/xingming/xmpd/)网站作为例子,如有侵权等请联系我...
  • 编程语言:java 管理工具:maven 需要导包:httpclient,jsoup(解析html)等,如果要解析json可能还要导入gson的包。 我把重要的依赖贴出来(默认大家都是使用过maven的,如果不使用maven,你可以到网上下载jar包...
  • 通过java中的.net包抓取网页上的数据,并且自动生成文件,详细代码如下: import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import ...
  • java网页数据爬取

    2019-11-08 15:27:54
    java网页数据爬取## 标题 首先数据爬取,会有出现很多种可能,比如需要爬取的网页设置了防爬取,或者做数据权限验证,需要用户登录,这里我简单讲下,基本的数据爬虫怎么分析 首先我以上海空气质量实时发布系统为...
  • java小爬虫爬取网页

    2019-11-20 19:36:47
    java爬虫爬取网页数据代码 话不多说直接上源码` import org.apache.http.client.ClientProtocolException; import java.io.*; import java.net.MalformedURLException; import java.net.URL; import java.net....
  • 概述: webmagic是一个开源的java语言爬虫框架,参考官网http://webmagic.io/, 本篇博客介绍爬取 码云的"最新推荐",网址:https://git.oschina.net/explore/recommend 代码 packa...
  • Java抓取网页数据(原网页+Javascript返回数据) 有时候网站为了保护自己的数据,并没有把数据直接放在网页源码中返回,而是采用异步的方式,用JS返回数据,这样可以避免搜索引擎等工具对网站数据的抓取。 ...
  • 小的近日在用java开源包htmlparser进行对网页中的数据爬取,但是很多网页中都嵌入了JS函数代码,必须鼠标点击,才触发JS函数,从服务器上索取数据网页的静态地址不变,例如查看评论,收起回复),所以想问一下这样...
  • 文章目录2021全国省市区街道社区五级SQL文件以及爬取代码数据来源数据说明SQL文档代码说明获取网页数据获取省份信息获取城市信息获取区县信息获取街道、镇信息获取社区,村庄信息完整代码地址 2021全国省市区街道...
  • 解析响应,获取数据 // 判断状态码是否是200 if(response.getStatusLine().getStatusCode()==200) { HttpEntity httpEntity = response.getEntity(); String content = EntityUtils.toString(httpEntity,"utf8"); ...
  • 使用Java实现网页数据爬取(IO流) 第一阶段:爬取网页源码及所有链接地址 引入代码步骤: 1.将ClimbImg.java,Demo.java文件导入 ClimbImg.java 爬取网页雏形 :功能非常有限,没有筛选后缀,只能单独读取一个地址,...
  • 使用java爬虫爬取网站前台代码(html+css+is+img) 一、爬虫 1、什么是爬虫 爬虫主要针对与网络网页,又称网络爬虫、网络蜘蛛,可以自动化浏览网络中的信息,或者说是一种网络机器人。它们被广泛用于互联网搜索引擎...
  • 各位好,我想爬取网页上的数据用作绘图,但是现在只能将网页代码下载下来不知道该怎么提取?用JAVA写的。希望可以知道如何从网站上爬取数据,并保存为xml 的格式。在此谢谢![图片说明]...
  • **解决问题:**爬取JavaScript渲染的网页数据(网站为了保护自己的数据,没有把数据直接放在网页源代码中返回,而是采用异步的方式,用JS返回数据,无法直接抓取) **环境准备:**Chrome浏览器、Chrome浏览器驱动文件...
  • Java爬取12306

    千次阅读 2017-11-14 10:11:50
    要做一个爬虫的话,一定要会看网页的源代码,学会用浏览器的抓包,一般情况先抓包,看有没有自己想要的数据,如果有返回的json的数据就好很多了,直接根据url规则编写链接,使用json解析返回的数据,不需要使用jsoup...
  • 就在前天,我的一个项目进入到了省赛,想下定决心把自己的一部分未完成的功能完善起来(想爬取网页上的各种数据到自己的所对应的页面上显示),这个问题在我脑子里回旋许久,于是打开电脑就在网上查阅各种资料,而我...
  • Java语言爬取网页数据信息,使用jsoup技术。有的需要爬取的数据信息必须要登录之后才能看到的。所以需事先模拟登陆,然后在手拆dom,整理数据。导出数据。 ** 1.模拟登陆之手动登录 如果是自动登录,该网站登录方式...
  • 初学者,用java写了个爬虫玩,爬取蜂鸟网上的图片,但是只能获得一页数据,请教大神帮忙看看代码哪里出错了 长话短说,直接贴出代码 package picture; import com.google.gson.Gson; import jindong.utils....

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 146
精华内容 58
关键字:

java爬取网页数据代码

java 订阅