精华内容
下载资源
问答
  • 1、网络爬虫按照一定的规则爬取网页上的信息,通常是爬取到一些URL之后然后对这些URL放入队列在一次次的进行搜索。2、Java爬虫网页网页的内容,找到在网页中的其它链接地址,...3、Java爬虫爬取网页内容方法:用apac...

    27b2a540a006310584df9b951c8741f5.png

    1、网络爬虫

    按照一定的规则爬取网页上的信息,通常是爬取到一些URL之后然后对这些URL放入队列在一次次的进行搜索。

    2、Java爬虫网页

    网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。

    3、Java爬虫爬取网页内容方法:用apache提供的包// commons-httpclient-3.1.jar

    // commons-logging-1.0.4.jar

    public static String createhttpClient(String url, String param) {

    HttpClient client = new HttpClient();

    String response = null ;

    String keyword = null ;

    PostMethod postMethod = new PostMethod(url);

    //  try {

    //   if (param != null)

    //    keyword = new String(param.getBytes("gb2312"), "ISO-8859-1");

    //  } catch (UnsupportedEncodingException e1) {

    //   // TODO Auto-generated catch block

    //   e1.printStackTrace();

    //  }

    // NameValuePair[] data = { new NameValuePair("keyword", keyword) };

    // // 将表单的值放入postMethod中

    // postMethod.setRequestBody(data);

    // 以上部分是带参数抓取,我自己把它注销了.大家可以把注销消掉研究下

    try {

    int statusCode = client.executeMethod(postMethod);

    response = new String(postMethod.getResponseBodyAsString()

    .getBytes( "ISO-8859-1" ), "gb2312" );

    //这里要注意下 gb2312要和你抓取网页的编码要一样

    String p = response.replaceAll( "//&[a-zA-Z]{1,10};" , "" )

    .replaceAll( "]*>" , "" ); //去掉网页中带有html语言的标签

    System.out.println(p);

    } catch (Exception e) {

    e.printStackTrace();

    }

    return response;

    }

    Java爬虫中使用apache提供的包爬取网页内容还是很方便的,大家可以套入代码使用哦~更多java学习推荐:java教程。

    (推荐操作系统:windows10系统、java10版,thinkpad t480电脑。)

    展开全文
  • } //可以指定网址,并且按照需求爬取前多少页的数据 public static List getInfo(String url, int month) { List weatherList = new ArrayList(); for (int i = 1; i ; i++) { try { System.out.println("url:" + ...

    准备的jar

            <!--json-->
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>2.12.0</version>
            </dependency>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.47</version>
            </dependency>
    
            <!--excel-->
            <dependency>
                <groupId>net.sourceforge.jexcelapi</groupId>
                <artifactId>jxl</artifactId>
                <version>2.6.12</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>3.17</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
                <version>3.17</version>
            </dependency>
            <!--爬虫-->
            <dependency>
                <groupId>org.jsoup</groupId>
                <artifactId>jsoup</artifactId>
                <version>1.13.1</version>
            </dependency>

    实体类:

    public class Weather {
    
        /**
         * 日期
         */
        private String date;
    
        /**
         * 最高气温
         */
        private String maxTemperature;
    
        /**
         * 最低气温
         */
        private String minTemperature;
    
        /**
         * 白天天气
         */
        private String dayTimeWeather;
    
        /**
         * 夜间天气
         */
        private String nightWeather;
    
        /**
         * 风向
         */
        private String windDirection;
    
        /**
         * 风力
         */
        private String windPower;
    
        public String getDate() {
            return date;
        }
    
        public void setDate(String date) {
            this.date = date;
        }
    
        public String getMaxTemperature() {
            return maxTemperature;
        }
    
        public void setMaxTemperature(String maxTemperature) {
            this.maxTemperature = maxTemperature;
        }
    
        public String getMinTemperature() {
            return minTemperature;
        }
    
        public void setMinTemperature(String minTemperature) {
            this.minTemperature = minTemperature;
        }
    
        public String getDayTimeWeather() {
            return dayTimeWeather;
        }
    
        public void setDayTimeWeather(String dayTimeWeather) {
            this.dayTimeWeather = dayTimeWeather;
        }
    
        public String getNightWeather() {
            return nightWeather;
        }
    
        public void setNightWeather(String nightWeather) {
            this.nightWeather = nightWeather;
        }
    
        public String getWindDirection() {
            return windDirection;
        }
    
        public void setWindDirection(String windDirection) {
            this.windDirection = windDirection;
        }
    
        public String getWindPower() {
            return windPower;
        }
    
        public void setWindPower(String windPower) {
            this.windPower = windPower;
        }
    
        @Override
        public String toString() {
            return "Weather{" +
                    "date='" + date + '\'' +
                    ", maxTemperature='" + maxTemperature + '\'' +
                    ", minTemperature='" + minTemperature + '\'' +
                    ", dayTimeWeather='" + dayTimeWeather + '\'' +
                    ", nightWeather='" + nightWeather + '\'' +
                    ", windDirection='" + windDirection + '\'' +
                    ", windPower='" + windPower + '\'' +
                    '}';
        }
    }

    测试类

    public class WeatherTest {
        public static void main(String[] args) throws FileNotFoundException, IOException {
            List<Weather> list = getInfo("http://www.tianqi234.com/2020shanghai/1yue.html", 12);
            for (Weather weather : list) {
                System.out.println(weather.toString());
            }
            testHSSFWorkbook(list);
        }
    
        //可以指定网址,并且按照需求爬取前多少页的数据
        public static List<Weather> getInfo(String url, int month) {
            List<Weather> weatherList = new ArrayList<Weather>();
            for (int i = 1; i < month + 1; i++) {
                try {
                    System.out.println("url:" + url);
                    Document doc = Jsoup.connect(url).get();
                    Elements table = doc.select(".graybox_cnt");
                    /*  Elements tbody = table.select("tbody");*/
                    Elements trList = table.select("tr");
                    //每次移除的时候,你的列表长度就会发生新的变化,所以要结合实际进行移除
                    trList.remove(0);
                    if (i > 1) {
                        trList.remove(0);
                        trList.remove(10);
                        trList.remove(10);
                        trList.remove(20);
                        trList.remove(20);
                        trList.remove(20);
                    } else {
                        trList.remove(11);
                        trList.remove(11);
                        trList.remove(21);
                        trList.remove(21);
                        trList.remove(21);
                    }
    
                    for (Element tr : trList) {
                        Elements tdList = tr.select("td");
                        Elements aList = tdList.select("a");//查询a标签
                        Weather weather = new Weather();
                        if (aList != null && aList.size() > 0) {
                            weather.setDate(aList.get(0).html().toString());
                        } else {
                            weather.setDate(tdList.get(0).html().toString());
                        }
                        weather.setMaxTemperature(tdList.get(1).html().toString());
                        weather.setMinTemperature(tdList.get(2).html().toString());
                        weather.setDayTimeWeather(tdList.get(3).html().toString());
                        weather.setNightWeather(tdList.get(4).html().toString());
                        weather.setWindDirection(tdList.get(5).html().toString());
                        weather.setWindPower(tdList.get(6).html().toString());
                        weatherList.add(weather);
                    }
    
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
    
                url = "http://www.tianqi234.com/2020shanghai/" + (i + 1) + "yue.html";
            }
            return weatherList;
    
        }
    
        public static void testHSSFWorkbook(List<Weather> list) throws IOException {
            HSSFWorkbook workbook = new HSSFWorkbook();//创建excel文件(workbook)
            
            HSSFSheet sheet = workbook.createSheet("2020年上海天气统计");
            HSSFRow row = sheet.createRow(0);//创建行 从0开始
    
            HSSFCellStyle style = workbook.createCellStyle();//设置单元格样式
            style.setAlignment(HorizontalAlignment.CENTER);//水平居中
            style.setVerticalAlignment(VerticalAlignment.CENTER);//垂直居中
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            sheet.setDefaultColumnWidth(30);
            row.setHeightInPoints(25);
            Map<String, String> map = (Map<String, String>) getMap(list.get(0));
            //设置表头
            int c = 0;
            for (String key : map.keySet()) {
                HSSFCell cell = row.createCell(c);//创建行的单元格,从0开始
                cell.setCellValue(map.get(key));//设置单元格内容
                cell.setCellStyle(style);
                c++;
            }
            Map<Integer, Weather> weatherMap = new HashMap<>();
            //除去表头
            for (int i = 1; i < list.size(); i++) {
                weatherMap.put(i, list.get(i));
            }
            for (int i = 1; i <= weatherMap.size(); i++) {
                HSSFRow rowInfo = sheet.createRow(i);
                rowInfo.setHeightInPoints(30);
                Map<String, String> map1 = (Map<String, String>) getMap(list.get(i));
                int j = 0;
                for (String key : map1.keySet()) {
                    HSSFCell cellInfo = rowInfo.createCell(j);
                    cellInfo.setCellValue(map1.get(key));
                    cellInfo.setCellStyle(style);
                    j++;
                }
            }
            FileOutputStream out = new FileOutputStream("D:\\weather1.xlsx");
            workbook.write(out);
            out.close();
    
        }
    
        /**
         * json转map
         *
         * @param object
         * @return
         */
        public static Map<?, ?> getMap(Object object) {
            if (object == null) {
                throw new RuntimeException("对象为空,转json失败");
            }
            Map<String, Object> map = new HashMap<>();
            try {
                map = (Map) JSON.parse(JSON.toJSONString(object));
            } catch (Exception e) {
                System.out.println("对象转map转换失败");
            }
            return map;
        }
    
    
    }

    效果:

     

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

    千次阅读 多人点赞 2019-11-20 16:28:00
    Java爬虫爬取网页数据 一.简单介绍爬虫 网络爬虫(Web Crawler),又称为网络蜘蛛(Web Spider)或 Web 信息采集器,是一种按照一定规则,自动抓取或下载网络信息的计算机程序或自动化脚本,是目前搜索引擎的重要...

    Java爬虫爬取网页数据

    一.简单介绍爬虫

    网络爬虫(Web Crawler),又称为网络蜘蛛(Web Spider)或 Web 信息采集器,是一种按照一定规则,自动抓取或下载网络信息的计算机程序或自动化脚本,是目前搜索引擎的重要组成部分。
    我的这个demo 是基于Jsoup做个简单实现java爬虫的
    jsoup是一款Java的HTML解析器,主要用来对HTML解析 jsoup 中文官网

    二.需要的pom.xml依赖

    <!-- https://mvnrepository.com/artifact/org.jsoup/jsoup -->
            <dependency>
                <groupId>org.jsoup</groupId>
                <artifactId>jsoup</artifactId>
                <version>1.8.3</version>
            </dependency>
            <!-- 文件下载 -->
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.5</version>
            </dependency>
    
            <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>4.5.5</version>
            </dependency>
    
    

    三.java代码(内附详细注释)

    因为我这里是个简单的java爬虫,所以就只用了一个java
    爬取图片以及CSS样式并下载到本地

    CatchImage.java

    package cn.xxx.xxxx;
    
    import org.apache.commons.io.FileUtils;
    import org.apache.http.HttpEntity;
    import org.apache.http.client.ClientProtocolException;
    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.*;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    /**
     * @Date 2019/11/20 14:50
     * @Version 1.0
     */
    public class CatchImage {
    	// 地址
    	private static final String URL = "xxxx";
    	// 编码
    	private static final String ECODING = "utf-8";
    	// 获取img标签正则
    	private static final String IMGURL_REG = "<img.*src\\s*=\\s*(.*?)[^>]*?>";
    	// 获取src路径的正则
    	private static final String IMGSRC_REG = "(?x)(src|SRC|background|BACKGROUND)=('|\")/?(([\\w-]+/)*([\\w-]+\\.(jpg|JPG|png|PNG|gif|GIF)))('|\")";
    	// img本地保存路径
    	private static final String SAVE_PATH = "";
    
    	/**
    	 * @param url      要抓取的网页地址
    	 * @param encoding 要抓取网页编码
    	 * @return
    	 */
    	public static String getHtmlResourceByUrl(String url, String encoding) {
    		URL urlObj = null;
    		URLConnection uc = null;
    		InputStreamReader isr = null;
    		BufferedReader reader = null;
    		StringBuffer buffer = new StringBuffer();
    		// 建立网络连接
    		try {
    			urlObj = new URL(url);
    			// 打开网络连接
    			uc = urlObj.openConnection();
    			// 建立文件输入流
    			isr = new InputStreamReader(uc.getInputStream(), encoding);
    			// 建立缓存导入 将网页源代码下载下来
    			reader = new BufferedReader(isr);
    			// 临时
    			String temp = null;
    			while ((temp = reader.readLine()) != null) {// 一次读一行 只要不为空就说明没读完继续读
    				// System.out.println(temp+"\n");
    				buffer.append(temp + "\n");
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		} finally {
    			// 关流
    			if (isr != null) {
    				try {
    					isr.close();
    				} catch (IOException e) {
    					e.printStackTrace();
    				}
    			}
    		}
    		return buffer.toString();
    	}
    
    	/**
    	 * 获取网页代码保存到本地
    	 *
    	 * @param url 网络地址
    	 * @param encoding 编码格式
    	 * 
    	 */
    	public static void getJobInfo(String url, String encoding) {
    		// 拿到网页源代码
    		String html = getHtmlResourceByUrl(url, encoding);
    		try {
    			File fp = new File("xxxxx");
    			//判断创建文件是否存在
    			if (fp.exists()) {
    				fp.mkdirs();
    			}
    			OutputStream os = new FileOutputStream(fp);          //建立文件输出流
    			os.write(html.getBytes());
    			os.close();
    		} catch (MalformedURLException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
    
        /**
    	 * 下载图片
    	 *
    	 * @param listImgSrc
    	 */
    	public static void Download(List<String> listImgSrc) {
    		int count = 0;
    		try {
    			for (int i = 0; i < listImgSrc.size(); i++) {
    				String url = listImgSrc.get(i);
    				String imageName = url.substring(url.lastIndexOf("/") + 1, url.length());
    				URL uri = new URL(url);
    				// 打开连接
    				URLConnection con = uri.openConnection();
    				//设置请求超时为5s
    				con.setConnectTimeout(5 * 1000);
    				// 输入流
    				InputStream is = con.getInputStream();
    				// 1K的数据缓冲
    				byte[] bs = new byte[1024];
    				// 读取到的数据长度
    				int len;
    				// 输出的文件流
    				String src = listImgSrc.get(i).substring(URL.length());
    				int index = src.lastIndexOf('/');
    				String fileName = src.substring(0, index + 1);
    				File sf = new File(SAVE_PATH + fileName);
    				if (!sf.exists()) {
    					sf.mkdirs();
    				}
    				OutputStream os = new FileOutputStream(sf.getPath() + "\\" + imageName);
    				System.out.println(++count + ".开始下载:" + url);
    				// 开始读取
    				while ((len = is.read(bs)) != -1) {
    					os.write(bs, 0, len);
    				}
    				// 完毕,关闭所有链接
    				os.close();
    				is.close();
    				System.out.println(imageName + ":--下载完成");
    				System.out.println();
    			}
    		} catch (Exception e) {
    			System.out.println("下载失败");
    		}
    	}
    
        /**
    	 * 得到网页中图片的地址
    	 *
    	 * @param htmlStr html字符串
    	 * @return List<String>
    	 */
    	private static List<String> getImgStr(String htmlStr) {
    		List<String> pics = new ArrayList<String>();
    		String img = "";
    		Pattern p_image;
    		Matcher m_image;
    		p_image = Pattern.compile(IMGURL_REG, Pattern.CASE_INSENSITIVE);
    		m_image = p_image.matcher(htmlStr);
    		while (m_image.find()) {
    			// 得到<img />数据
    			img = m_image.group();
    			// 匹配<img>中的src数据
    			Matcher m = Pattern.compile(IMGSRC_REG).matcher(img);
    			while (m.find()) {
    				String imgUrl = m.group(3);
    				//判断是否有http://+网址
    				if (!imgUrl.contains("http://") && !imgUrl.contains("https://")) {
    					imgUrl = URL + imgUrl;
    				}
    				pics.add(imgUrl);
    			}
    		}
    		return pics;
    	}
    
        /**
    	 * 下载css文件
    	 *
    	 * @param URL 网络地址
    	 */
    	private static void DownCss(String URL) throws ClientProtocolException, IOException {
    		// 创建httpclient实例
    		CloseableHttpClient httpclient = HttpClients.createDefault();
    		// 创建httpget实例
    		HttpGet httpget = new HttpGet(URL);
    		// 执行get请求
    		CloseableHttpResponse response = httpclient.execute(httpget);
    		HttpEntity entity = response.getEntity();
    		// 获取返回实体
    		String content = EntityUtils.toString(entity, ECODING);
    		// 解析网页 得到文档对象
    		Document doc = Jsoup.parse(content);
    		// 获取指定的 <img />
    		Elements elements = doc.select("head link");
    		for (int i = 0; i < elements.size(); i++) {
    			Element element = elements.get(i);
    			// 获取 <img /> 的 src
    			String url = element.attr("href");
    			// 再发请求最简单了,并由于该链接是没有 https:开头的,得人工补全 ✔
    			HttpGet PicturehttpGet = new HttpGet(URL + url);
    			CloseableHttpResponse pictureResponse = httpclient.execute(PicturehttpGet);
    			HttpEntity pictureEntity = pictureResponse.getEntity();
    			InputStream inputStream = pictureEntity.getContent();
    			// 使用 common-io 下载图片到本地,注意图片名不能重复 ✔
    			//获取url字符串最后一个/之后的所有,也就是图片名称和格式
    			String css = url.substring(url.lastIndexOf("/") + 1);
    			FileUtils.copyToFile(inputStream, new File("e://cskt//templates//css//" + css));
    			pictureResponse.close(); // pictureResponse关闭
    		}
    		response.close(); // response关闭
    		httpclient.close(); // httpClient关闭
    	}
    
    	public static void main(String[] args) throws ClientProtocolException, IOException {
    		//获得html文本内容
    		String HTML = CatchImage.getHtmlResourceByUrl(URL, ECODING);
    		//获取图片src的url地址
    		List<String> imgSrc = CatchImage.getImgStr(HTML);
    		//下载图片
    		CatchImage.Download(imgSrc);
    		//下载css样式
    		CatchImage.DownCss(URL);
    		//保存网页源码
    		getJobInfo(URL, ECODING);
    	}
    }
    

    四.总结

    要在有html元素有的情况下,才能通过jsoup来爬虫,如果是这接口获得的数据,那么通过jsoup是无法获取到的。
    java爬虫在爬取网络的数据用到了jsoup中的方法,在下载css,img和创建html就用到了I/O流。

    展开全文
  • java 爬虫爬取网页,,,,

    2017-09-26 09:29:26
    我要使用java爬虫爬取一个网站, 那个网站需要模拟登陆, 用的是第三方的验证码, 而且验证码是点击验证图片后由多张图片组成的。请问一下各位大神这个该怎么破
  • Java爬虫爬取网页数据-基于Jsoup前言一.准备二.代码(使用Jsoup的核心就两步)三.效果爬虫项目地址 前言 本文主要介绍简单的使用Jsoup爬取网页数据 框架 SpringBoot + Jsoup 每一个步骤我都是进行独立封装起来,方便...

    前言

    本文主要介绍简单的使用Jsoup爬取网页数据
    框架 SpringBoot + Jsoup
    每一个步骤我都是进行独立封装起来,方便复用(重要的事说三遍)
    每一个步骤我都是进行独立封装起来,方便复用(重要的事说三遍)
    每一个步骤我都是进行独立封装起来,方便复用(重要的事说三遍)
    这就是广告:技术交流群796794009SpringBoot技术交流群; --小吾

    一.准备

    创建一个SpringBoot项目引入Jsoup依赖

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

    二.代码(使用Jsoup的核心就两步)

    第一步
    通过Jsoupconnect(url).get();方法获取到当前页面信息
    url为你要获取的网页地址
    返回的是一个 Document

    	public Document getDoc(String url){
            Document doc;
            try {
                doc = Jsoup.connect(url).get();
            } catch (IOException e) {
                log.error("出现异常:{}", e.getMessage());
                return null;
            }
            return doc;
        }
    

    第二步
    通过Document中的select方法获取标签(Elements)信息
    特别备注1: 使用select方法获取到的是Elements集合,需要进行遍历才能获取到Element
    特别备注2: link.attr("abs:src")中的abs:是指获取到绝对路径,现在很多页面中的src是不带域名的

        private Map<String,String> listUrl(Document doc){
            // Map<链接地址, 链接名称>
            Map<String,String> map = new HashMap<>(16);
            // 获取图片标签
            Elements links = doc.select("img[src]");
            for (Element link : links){
                System.out.println("名称 : " + link.text());
                System.out.println("链接 : " + link.attr("abs:src"));
                map.put(link.absUrl("abs:src"), link.text());
            }
            return map;
        }
    

    三.效果

    这里爬取的是我的博客上的一篇文章中的图片数据
    实操

    爬虫项目地址

    个人爬虫项目,仅供学习参考:https://github.com/xiao-wu-1024/demo_reptile
    使用环境jdk1.8 、 MySQL8.0
    备注:本项目仅提供4个接口
    特别备注: 第4个接口不推荐大家尝试大型网站, 大型网站接口多获取时间过长
    禁止使用本项目做一切违法行为,仅供学习参考
    如图:
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • java爬虫 爬取网页信息

    千次阅读 2018-05-07 18:22:46
    今天接触到一个项目中非要让我用爬虫爬取一个学校网页的新闻页面加子页面所有文字信息,毕竟需求就是上帝,然后查询了一会之后发现并不难就是匹配字符、标签是有些麻烦 好了直接上pom.xml &lt;dependency&...
  • 所以就想能不能用java实现一个爬虫,百度搜索发现,其实java也有很多优秀得开源爬虫框架,包括Gecco,webmagic,Jsoup等等非常多得优秀开源框架,可以让我们在不是十分熟悉正则表达式得情况下也能实现爬虫爬取数据。...
  • 爬取网页类 package com.hw.crawler; import com.hw.util.DateUtil; import com.hw.util.DbUtil; import com.hw.util.PropertiesUtil; import net.sf.ehcache.Cache; import net.sf.ehcache.CacheManager; ...
  • System.out.println("-- 欢迎使用小刘简易网页爬虫程序 --"); System.out.println(""); System.out.println("--请输入正确的网址如http://www.baidu.com--"); Scanner input = new Scanner(System.in);// 实例...
  • java爬虫爬取数据

    2018-05-04 16:48:51
    利用HTML工具,多线程,消息队列,模拟浏览器实现爬取网页数据
  • JAVA爬虫爬取图片

    千次阅读 2019-08-02 10:24:23
    最近接触了下java爬虫,文本信息爬完了,就想看看图片怎么爬,于是就研究了一下,案例爬取的是CSDN的今日推荐的图片 Jsoup + HttpClients来实现爬虫 所需pom依赖 <!-- ...
  • 一个爬取网页的类,方便爬取网页文件一堆能够解析不同单位的类,得到页面后进行解析一个能够保存解析结果到本地的类,最好是excel数据表类型还有一套不要循环爬取,甚至爬取到与本网站无关的其他网页 还有一个能够把...
  • java爬虫爬取网站信息

    2020-06-23 16:24:02
    java爬https网站内容 下载网站的证书 查看 点击检查——点击security出现如下界面 点击证书路径我们可以发现证书如下: 下载 使用IE浏览器访问该网站,点击工具——Internet选项 接下来点击导出 ...
  • 最开始采用的HttpClient获取页面+Jsoup分析页面,但是获取不到想要的页面内容,发现自己想要的数据是js生成的,HttpClient加了头和Cookie还是获取不到,最后采用的htmlunit获取页面就可以了。 WebClient webClient=...
  • java爬虫爬取豆瓣网站数据

    千次阅读 2019-08-02 22:47:50
    网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫. ...
  • Java爬虫爬取网站图片

    千次阅读 2017-09-13 10:41:45
    实现的效果,自动在工程下创建Pictures文件夹,根据网站URL爬取图片,层层获取。在Pictures下以网站的层级URL命名文件夹,用来装该层URL下的图片。同时将文件名,路径,URL插入数据库,便于索引。 第一步,...
  • 使用Java爬虫爬取中国青年网:http://news.youth.cn/sh的社会新闻模块时,出现部分乱码问题,如下图所示: 我的爬虫使用的是自己编写的一个简单的网页编码探测器来获取网页编码的,按理说不应该出现乱码问题,下载...
  • Java爬虫爬取python百度百科词条及相关词条页面 本实例爬取关于python词条页面及关联词条页面的简介,把词条的简介写入txt文本中, 本实例效果: 实例基于使用第三方jar包Jsoup 1首先分析python词条...
  • Java爬虫爬取网易汽车车型库

    千次阅读 2017-04-15 23:21:55
    本文地址:http://blog.csdn.net/shanglianlm/article/details/70188385最近由于工作需要,写了一个小的爬虫,主要用于爬取网易汽车车型库(http://product.auto.163.com/)上的不同品牌/车标(共175个车标)下不同...
  • 我我我我我又回来了,好久没更新,昨天写的项目突然需要解析一个网页获取到指定数据,自然的就想到了爬虫。好了下面开始。 下面来说说what is 爬虫。算了自己去百度吧,这个没营养。昨天才发现原来不止python可以爬...
  • Java去写网络爬虫,只爬取网页链接,并设置搜索的深度。
  • java爬虫爬取新冠肺炎搜狗问答对

    千次阅读 2020-07-02 22:45:49
    导入java爬虫包 使用java的HttpClient子项目进行爬虫,使用Jsoup进行网页解析。所以需要导入相应的java依赖。 maven: <dependency> <groupId>org.apache.httpcomponents</groupId>

空空如也

空空如也

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

java爬虫爬取网页内容

java 订阅
爬虫 订阅