首页 » 技术分享 » 网络编程_爬虫(Web Spider)原理

网络编程_爬虫(Web Spider)原理

 

在这里插入图片描述

在这里插入图片描述

爬虫是一个虚拟化、形象化的概念,表示的是我们从网络上查找数据、获取数据、下载数据、分析数据,对数据进行抽取、清洗、筛选等一系列的操作,我们称之为网络爬虫。这里面最核心的就是数据,有价值的数据,有价值的资源。
每家公司对数据的要求不一样,比如电商,可能关注的就是商品,关注用户的购买记录,根据这个购买记录可以分析出用户的喜爱度,然后推送商品,推送广告,这就是一个典型的网络爬虫的应用。

一般爬虫有这几步:
1、给一个URL。互联网上的资源都是有联系的,只要你给我一个URL,准确的来说你可以把全世界的资源都下载下来,当然这是理论值。如果你要抓取的话必须得到对方的同意,不是什么人都希望你去抓,这样它的数据不安全,同时服务器压力大。
2、根据URL下载资源。
3、分析资源。分析资源就会借助一个工具叫正则表达式。正则说的简单一点就是数据都是有规律的数据,我们快速把这些有规律的数据拿出来,比如说18、28这样的年龄,如果你要if else判断就判断不完了,那现在我们发现它们都是两位整数,这就叫有规律,比如\d{2}这就叫正则表达式。
4、数据抽取、清洗、存储等
这里关注第1、2步。

package com.sxt.loc;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;

/**
 * 网络爬虫的原理
 * 
 * @author 
 *
 */
public class SpiderTest01 {

	public static void main(String[] args) throws Exception {
		//获取URL  https是http的升级版,安全协议
		URL url =new URL("https://www.jd.com");
		//并不是所有网站都允许爬取数据。注:只要浏览器能访问,都可以爬取到数据,只不过需要巧妙的思路
		//URL url =new URL("https://www.dianping.com");
		//下载资源
		InputStream is = url.openStream();
		BufferedReader br =new BufferedReader(new InputStreamReader(is,"UTF-8"));
		String msg =null;
		while(null!=(msg=br.readLine())) {
			System.out.println(msg);
		}
		br.close();
		//分析
		//处理。。。。
	}
}




package com.sxt.loc;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 * 网络爬虫的原理 +模拟浏览器
 * 
 * @author 
 *
 */
public class SpiderTest02 {

	public static void main(String[] args) throws Exception {
		//获取URL
		URL url =new URL("https://www.dianping.com");
		//下载资源
		HttpURLConnection  conn =(HttpURLConnection) url.openConnection();
		conn.setRequestMethod("GET");
		conn.setRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36");
		BufferedReader br =new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
		String msg =null; 
		while(null!=(msg=br.readLine())) {
			System.out.println(msg);
		}
		br.close();
		//分析
		//处理。。。。
	}
}

转载自原文链接, 如需删除请联系管理员。

原文链接:网络编程_爬虫(Web Spider)原理,转载请注明来源!

0