Atitit.网页爬虫的架构总结

1. 总数的结构..(接口方法) 1

2. 获得页数 1

3. 跳页处理(接口方法) 2

4. 单个的页面处理(接口方法) 2

4.1. 获得页面url 3

4.2. 获得页面html 3

4.3. 获得list 3

4.4. 处理单个的数据条目 3

5. 调用 4

6. 日志的实现 4

7. 参考 4

1. 总数的结构..(接口方法)

public String exec( ) throws IOException     {

fx=new filex(fileName);

int pages=getpage();

;i<=pages;i++)

{

if(i<pageStart)

continue;

try {

singlePage(i);

} catch (Exception e) {

e.printStackTrace();

}

}

fx.close();

2. 获得页数

getpage();

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

3. 跳页处理(接口方法)

if(i<pageStart)

continue;

4. 单个的页面处理(接口方法)

*/

private void singlePage(int page) throws ConnEx, NoRztEx, ParseLsitEx {

String html = null;

try {

String api = (String) getCurPageUrl(page);

//http://www.czvv.com/k5bu6562Rp0c0cc0s0m0e0f0d0.html

websitex wc = new websitex();

wc.refer="

);

}   catch (Exception e) {

e.printStackTrace();

throw new ConnEx(e.getMessage());

}

//================trace

if (new File("C:\\traceOk").exists())

filex.save_safe(html, "c:\\rztTrace.html");

List li=getList(html);

for(Object obj:li)

{

try {

processItem(obj);

} catch (Exception e) {

e.printStackTrace();

}

}

4.1. 获得页面url

4.2. 获得页面html

4.3. 获得list

private List getList(String html) throws NoRztEx, ParseLsitEx {

try {

Document doc = null;

doc = Jsoup.parse(html);

Elements tabs = doc.getElementsByTag("ol");

return tabs;

} catch (Exception e) {

e.printStackTrace();

//System.out.println("norzt:" + addr);

throw new ParseLsitEx("noRzt");

}

4.4.  处理单个的数据条目

private void processItem(Object obj) {

Element item=(Element) obj;

).text();

);

).text();

).text();

).text();

String line = name+","+tel+","+lyesyiren+","+addr;

fx.appendLine_flush_safe(line);

System.out.println( line);

}

5. 调用

WebInfoX x=new WebInfoX();

];// "c:\\r2.csv";

]);

]);;

x.exec( );

System.out.println("--fi");

}

6. 日志的实现

使用默认的console最简单的..或者使用queue+textarea....麻烦的

7. 参考

paip.c++ qt 网页爬虫 的 网络编程 总结 - attilax的专栏 - 博客频道 - CSDN.NET.htm

Atitit.网页爬虫的架构总结的更多相关文章

  1. Python静态网页爬虫相关知识

    想要开发一个简单的Python爬虫案例,并在Python3以上的环境下运行,那么需要掌握哪些知识才能完成一个简单的Python爬虫呢? 爬虫的架构实现 爬虫包括调度器,管理器,解析器,下载器和输出器. ...

  2. Atitit 网络爬虫与数据采集器的原理与实践attilax著 v2

    Atitit 网络爬虫与数据采集器的原理与实践attilax著 v2 1. 数据采集1 1.1. http lib1 1.2. HTML Parsers,1 1.3. 第8章 web爬取199 1 2 ...

  3. Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱(转)

    原文:http://www.52nlp.cn/python-网页爬虫-文本处理-科学计算-机器学习-数据挖掘 曾经因为NLTK的缘故开始学习Python,之后渐渐成为我工作中的第一辅助脚本语言,虽然开 ...

  4. [resource-]Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱

    reference: http://www.52nlp.cn/python-%e7%bd%91%e9%a1%b5%e7%88%ac%e8%99%ab-%e6%96%87%e6%9c%ac%e5%a4% ...

  5. 【Python】Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱

    本文转载自:https://www.cnblogs.com/colipso/p/4284510.html 好文 mark http://www.52nlp.cn/python-%E7%BD%91%E9 ...

  6. Python 3实现网页爬虫

    1 什么是网页爬虫 网络爬虫( 网页蜘蛛,网络机器人,网页追逐者,自动索引,模拟程序)是一种按照一定的规则自动地抓取互联网信息的程序或者脚本,从互联网上抓取对于我们有价值的信息.Tips:自动提取网页 ...

  7. atitit.attilax的软件 架构 理念.docx

    atitit.attilax的软件 架构 理念.docx 1. 预先规划.1 2. 全体系化1 3. 跨平台2 4. 跨语言2 5. Dsl化2 5.1. 界面ui h5化2 6. 跨架构化2 7. ...

  8. Atitit.研发管理---TOGAF架构跟 (ADM开发方法)总结

    Atitit.研发管理---TOGAF架构跟 (ADM开发方法)总结 1. TOGAF是在过去二十年间出现的企业架构框架 1 2. TOGAF内容结构 1 3. TOGAF 实现过程 2 4. 参考 ...

  9. cURL 学习笔记与总结(2)网页爬虫、天气预报

    例1.一个简单的 curl 获取百度 html 的爬虫程序(crawler): spider.php <?php /* 获取百度html的简单网页爬虫 */ $curl = curl_init( ...

随机推荐

  1. Gulp插件使用技巧

    目录: 插件的安装卸载 插件使用的基本流程 拆分任务 监听 默认任务 一.插件的安装卸载 安装: npm install gulp-less --save-dev 卸载 npm uninstall g ...

  2. IOS批量截取视频截图 UIImage mp4 IOS Video

    IOS批量截取视频截图 //生成截图 NSString *path = [NSHomeDirectory() stringByAppendingString:@"/Documents&quo ...

  3. ASP.NET MVC:看 MVC 源码,学习:如何将 Area 中的 Controller 放到独立的程序集?

    背景 本文假设您已经熟悉了 ASP.NET MVC 的常规开发方式.执行模型和关键扩展点,这里主要说一下如何使用 ASP.NET MVC 的源代码解决一些问题. 如何将 Area 中的 Control ...

  4. Java中23种经典设计模式详解

    Java中23种设计模式目录1. 设计模式 31.1 创建型模式 41.1.1 工厂方法 41.1.2 抽象工厂 61.1.3 建造者模式 101.1.4 单态模式 131.1.5 原型模式 151. ...

  5. iOS:CoreData数据库的使用三(数据库和tableView表格一起使用)

    CoreData数据库是用来持久性存储数据的,那么,我们再从该数据库中取出数据干什么呢?明显的是为了对数据做操作,这个过程中可以将它们直观的显示出来,即通过表格的形式显示出来.CoreData配合ta ...

  6. informatica powercenter学习笔记(一)

    本文转摘:http://blog.itpub.net/22377317/viewspace-677137/ 1 informatica powercenter的下载: 方法一:去年我是在ORACLE ...

  7. [置顶] Eclipse显示中文 在线安装教程

    准备工作: 1,一个完整的Eclipse软件: 2,加载软件地址:http://download.eclipse.org/technology/babel/update-site/R0.11.0/ke ...

  8. osglightpoint例子 [转]

    该例子演示了光点的效果,主要应用osgSim库中的LightPoint.LightPointNode. SequenceGroup.BlinkSequence,osgSim库属于仿真库,扩展库.应用o ...

  9. Glide Picasso Fresco UIL 图片框架 缓存 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  10. AJAX前台传过来的中文在后台获取是乱码问题

    前台传值时加上encodeURI $.SaveForm({ url: "${basePath}/soft/mergeSoftAction_add.do?ids="+ids+&quo ...