SEO:搜索引擎优化,研究怎么样才能使得本公司的商品被各大搜索引擎的算法收到,并且可以排在前列,比如百度搜索引擎
爬虫的基本原理:
1、得到一个URL(理论上根据一个URL可以获取到网络上的所有资源)
2、代码模拟人的行为下载资源
3、根据正则表达式分析资源
4、对数据进行etl处理之后入库
openStream():打开一个字节输入流下载资源
public class SpiderTest {
public static void main(String[] args) throws IOException {
//获取URL
URL url = new URL("https://www.jd.com");
//下载资源,打开一个字节输入流下载数据
InputStream inputStream = url.openStream();
//InputStreamReader:转换流,由于传输的是字符,所以可以直接将输入的字节流转成字符流
//可以指定字符集
//套上一个字符缓冲输入流,按行读取
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
String msg =null;
while(null!=(msg=bufferedReader.readLine())){
System.out.println(msg);
}
//正则表达式分析资源
//etl处理数据
}
}
openConnection():打开一个http链接,模拟浏览器连接
当一些网站不能爬取时,可以利用代码模拟人访问浏览器的行为
public class SpiderTest01 {
public static void main(String[] args) throws IOException {
//获取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 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3704.400 QQBrowser/10.4.3587.400");
//InputStreamReader:转换流,由于传输的是字符,所以可以直接将输入的字节流转成字符流
//可以指定字符集
//套上一个字符缓冲输入流,按行读取
BufferedReader bufferedReader = new BufferedReader
(new InputStreamReader(conn.getInputStream(), "UTF-8"));
String msg =null;
while(null!=(msg=bufferedReader.readLine())){
System.out.println(msg);
}
//正则表达式分析资源
//etl处理数据
}
}