一.基本概念
-
seo:搜索引擎优化
-
sem:在各种搜索引擎上打广告
2.网络爬虫的几个要素: -
URL
-
资源下载
-
分析数据(采用正则表达式)
-
数据抽取、清洗(spark)、存储
3.网页的几个要素; -
html:骨架
-
css:美化
-
js:交互(动态)
反射可以使java动起来(具有动态特性)
4.两种浏览器的工作模式: -
GET:对资源的请求
-
POST:提交资源
二.网络爬虫的 实现代码
1.获取URL;
URL url=new URL("https://www.dianping.com");
2.下载资源
如果所爬的网页允许爬虫的话就可以使用以下代码。
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);
但是,存在网页不允许爬虫信息,那么可以模拟浏览器请求来获取资源。
User-Agent是在浏览器中找到的 如图所示
HttpURLConnection conn=(HttpURLConnection)url.openConnection();
conn.setRequestMethod("GET");//请求资源get,会存在一些网页的信息不让榨取时,那么就模拟浏览器请求指令来获取资源
conn.setRequestProperty("**User-Agent**", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 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);
}