主要是针对某个单独的网站进行页面的爬取,方式有好多种,记录一下大体的思路。

方法1:

a、通过http请求获取返回的静态页面。

b、将返回的字符串页面进行split,切割成字符串数组。

c、遍历字符串数组,通过正则筛选所需要的链接。

d、拼接获取到的链接,发送请求获取页面。

实际应用:

遇到过:网站验证码,单位时间内访问次数限制,还有ajax填充数据等问题。ajax post请求还算好解决,但是验证码和访问次数限制感觉很无力,Orz...

方法1:获取一整张页面

	public static String getStringHtml(String url){
//实例化客户端
HttpClient client = new DefaultHttpClient();
HttpGet getHttp = new HttpGet(url);
//整张页面
String content = null;
HttpResponse response; try {
response = client.execute(getHttp);
//获取到responce下载
HttpEntity entity = response.getEntity();
if(entity!=null){
content = EntityUtils.toString(entity);
//System.out.println(content);
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
client.getConnectionManager().shutdown();
}
return content;
}

方法:将文件写出到指定文件夹

public static void writetoFile(String context,String fileName)throws Exception{
// 构建指定文件
File file = new File("E:" + File.separator + "htmlfile"+File.separator+fileName);
OutputStream out = null;
try {
// 根据文件创建文件的输出流
out = new FileOutputStream(file);
// 把内容转换成字节数组
byte[] data = context.getBytes();
// 向文件写入内�?
out.write(data);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
// 关闭输出流
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
 

【java爬虫】网络爬虫思路的更多相关文章

  1. java之网络爬虫介绍

    文章大纲 一.网络爬虫基本介绍二.java常见爬虫框架介绍三.WebCollector实战四.项目源码下载五.参考文章   一.网络爬虫基本介绍 1. 什么是网络爬虫   网络爬虫(又被称为网页蜘蛛, ...

  2. 使用Java实现网络爬虫

    网络爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本. 另外一些不常使用的名字还有蚂蚁.自动索引.模 ...

  3. Java之网络爬虫WebCollector2.1.2+selenium2.44+phantomjs2.1.1

    Java之网络爬虫WebCollector2.1.2+selenium2.44+phantomjs2.1.1 一.简介 版本匹配: WebCollector2.12 + selenium2.44.0 ...

  4. 基于java的网络爬虫框架(实现京东数据的爬取,并将插入数据库)

    原文地址http://blog.csdn.net/qy20115549/article/details/52203722 本文为原创博客,仅供技术学习使用.未经允许,禁止将其复制下来上传到百度文库等平 ...

  5. Jsoup-基于Java实现网络爬虫-爬取笔趣阁小说

    注意!仅供学习交流使用,请勿用在歪门邪道的地方!技术只是工具!关键在于用途! 今天接触了一款有意思的框架,作用是网络爬虫,他可以像操作JS一样对网页内容进行提取 初体验Jsoup <!-- Ma ...

  6. Java版网络爬虫基础(转)

    网络爬虫不仅仅可以爬取网站的网页,图片,甚至可以实现抢票功能,网上抢购,机票查询等.这几天看了点基础,记录下来. 网页的关系可以看做是一张很大的图,图的遍历可以分为深度优先和广度优先.网络爬虫采取的广 ...

  7. Java版网络爬虫基础

    网络爬虫不仅仅可以爬取网站的网页,图片,甚至可以实现抢票功能,网上抢购,机票查询等.这几天看了点基础,记录下来. 网页的关系可以看做是一张很大的图,图的遍历可以分为深度优先和广度优先.网络爬虫采取的广 ...

  8. 用Java实现网络爬虫

    myCrawler.java package WebCrawler; import java.io.File; import java.util.ArrayList; import java.util ...

  9. java实现网络爬虫

    import java.io.IOException;   import java.util.HashSet;   import java.util.Set;   import java.util.r ...

  10. JAVA平台上的网络爬虫脚本语言 CrawlScript

    JAVA平台上的网络爬虫脚本语言 CrawlScript 网络爬虫即自动获取网页信息的一种程序,有很多JAVA.C++的网络爬虫类库,但是在这些类库的基础上开发十分繁琐,需要大量的代码才可以完成一 个 ...

随机推荐

  1. Python经常使用内置函数介绍【filter,map,reduce,apply,zip】

    Python是一门非常简洁,非常优雅的语言,其非常多内置函数结合起来使用,能够使用非常少的代码来实现非常多复杂的功能,假设相同的功能要让C/C++/Java来实现的话,可能会头大,事实上Python是 ...

  2. 在.net core 的webapi项目中将对象序列化成json

    问题:vs2017 15.7.6创建一个基于.net core 2.1的webapi项目,默认生成的控制器继承自ControllerBase类 在此情况下无法使用Json()方法 将一个对象转成jso ...

  3. 奥格尔巧妙kfifo

    奥格尔巧妙kfifo Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.csdn.net/chen19870707 Date:O ...

  4. [WebGL入门]十一,着色器编译器和连接器

    注意:文章翻译http://wgld.org/,原作者杉本雅広(doxas).文章中假设有我的额外说明.我会加上[lufy:].另外.鄙人webgl研究还不够深入.一些专业词语,假设翻译有误.欢迎大家 ...

  5. N+1:创新点的设计

    定义.公式.模型.算法的提出: 0. 如何进行抽象,如何定义数学表达式 二次衰减函数: f(z)=1z2 ⇒ f(z)=11+z2 噪声衰减因子: 对值域的要求,单调性的要求,必须是可调的: 2n1+ ...

  6. 图像滤镜艺术---Glow Filter发光滤镜

    原文:图像滤镜艺术---Glow Filter发光滤镜 Glow Filter发光滤镜 Glow Filter发光滤镜是一种让图像产生发光效果的滤镜,它的实现算法如下: 1,对原图P进行高斯模糊得到图 ...

  7. Win10《芒果TV》商店版2016-2017春节大礼,每日前100名用户免费领取7天VIP

    告别2016,喜迎2017,鸡年大吉,春节期间,每天登录Win10<芒果TV>商店版的前100位用户可领取一张芒果TV会员7天体验卡,先到先得. 芒果TV会员权益: 1.全站免广告 2.自 ...

  8. RDLC报表 分组排序设置

    原文:RDLC分组排序设置 RDLC中反复设置表的排序字段,设置数据源排序后绑定均无效. 需要在分组字段右击组属性中,修改对应的排序字段,即可.

  9. WP8.1使用HttpClient类

    Uri uri = new Uri("http://www.cnsos.net/weburl/index.htm", UriKind.Absolute); HttpClient m ...

  10. 基于X.509证书和SSL协议的身份认证过程实现(OpenSSL可以自己产生证书,有TCP通过SSL进行实际安全通讯的实际编程代码)good

    上周帮一个童鞋做一个数字认证的实验,要求是编程实现一个基于X.509证书认证的过程,唉!可怜我那点薄弱的计算机网络安全的知识啊!只得恶补一下了. 首先来看看什么是X.509.所谓X.509其实是一种非 ...