网络爬虫1
来源:互联网 发布:全球宏观经济数据库 编辑:程序博客网 时间:2024/06/11 06:09
网络爬虫的原理与应用
网路爬虫就是从互联网中的海量信息不断地抓取有用的信息.我们熟知的搜索引
擎的信息都来自这里.网络爬虫需要实现的基本功能是下载网页和对URL地址进行遍历
爬虫的基本原理
页面获取模块
根据URL来获取当前页面的内容,其实就是普通的I/O操作.
下面是示例代码:
网路爬虫就是从互联网中的海量信息不断地抓取有用的信息.我们熟知的搜索引
擎的信息都来自这里.网络爬虫需要实现的基本功能是下载网页和对URL地址进行遍历
爬虫的基本原理
如果把网页看成节点,网页之间的链接则可以看成边,那么,整个互联网则可看成是一
个特别巨大的非连通图.为了获取需要的网页,我们首先需要有一个初始化的URL列表,然后
根据这些列表访问网页.这时,有人可能就会问了,像Google或百度是怎么设置初始化的URL
列表的?一般来说,他们会把网站提交给分类目录,爬虫可以从开放式的分类目录抓取
页面获取模块
根据URL来获取当前页面的内容,其实就是普通的I/O操作.
下面是示例代码:
import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.net.URL;import java.net.URLConnection;public class DownLoadHTML {/* * file:DownLoadHTML * 作用:下载HTML文件 *//* * function:downloadHTML * @param src:需要下载的html页面的地址 * @param filePath:html源码存储的路径 * @param fileName:存储的文件名 */public static void downloadHTML(String src,String filePath,String fileName){try {URL url = new URL(src);URLConnection conn = url.openConnection();//设置超时conn.setConnectTimeout(10*1000);//防止屏蔽程序抓取conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1");File dir = new File(filePath);//如果路径不存在,创建一个新的路径if(!dir.exists()){dir.mkdirs();}File file = new File(filePath+File.separator+fileName);byte[] b = new byte[1024];//读取的长度InputStream in = conn.getInputStream();int len = 0;FileOutputStream out = new FileOutputStream(file);BufferedOutputStream bf = new BufferedOutputStream(out); while((len = in.read(b)) != -1){ bf.write(b,0,len); } bf.flush(); bf.close(); out.close(); out.close(); in.close(); } catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void main(String[] args){downloadHTML("http://www.csdn.net/","e:\\download","test.html");System.out.println("下载完成!");}}
0 0
- 网络爬虫 学习1
- 网络垂直爬虫-1
- [Python]网络爬虫1
- 网络爬虫1
- Python网络爬虫1
- 【Python爬虫1】网络爬虫简介
- 网络爬虫项目(1)
- 网络爬虫1:简述HtpClient
- 网络爬虫学习(1)
- 初试网络爬虫(1)
- 网络爬虫教程(1)
- 自己动手写网络爬虫1
- python 网络爬虫入门 1
- Python网络爬虫(1)
- Python3:网络爬虫(1)
- python 3.0 网络爬虫 1
- Python网络爬虫演示-1
- python网络爬虫day'1
- Spark Shuffle FetchFailedException解决方案
- 活用所学知识
- ajax分页迭代<c:foreach><select><option>显示不同行数跳转下一页mysql+spring+ajax
- 简单搭建nodeJS服务,访问本地站点文件,nodejs改变代码不需要重启的方法
- android 使用RecyclerView实现首项左右滑动,剩余项图片自适应
- 网络爬虫1
- nginx upstream模块
- Chrome安装.crx文件
- 去除迅雷影音游戏弹窗
- SQL 查询中遇到的问题,以及解决办法
- BUCT OJ 矩阵最优连乘问题
- float类型小结(double同理)
- 授之以鱼不如授之以渔
- Facebook Surround360 学习笔记--(1)系统简介