Atitit.网页爬虫的架构总结
Atitit.网页爬虫的架构总结
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.网页爬虫的架构总结的更多相关文章
- Python静态网页爬虫相关知识
想要开发一个简单的Python爬虫案例,并在Python3以上的环境下运行,那么需要掌握哪些知识才能完成一个简单的Python爬虫呢? 爬虫的架构实现 爬虫包括调度器,管理器,解析器,下载器和输出器. ...
- Atitit 网络爬虫与数据采集器的原理与实践attilax著 v2
Atitit 网络爬虫与数据采集器的原理与实践attilax著 v2 1. 数据采集1 1.1. http lib1 1.2. HTML Parsers,1 1.3. 第8章 web爬取199 1 2 ...
- Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱(转)
原文:http://www.52nlp.cn/python-网页爬虫-文本处理-科学计算-机器学习-数据挖掘 曾经因为NLTK的缘故开始学习Python,之后渐渐成为我工作中的第一辅助脚本语言,虽然开 ...
- [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% ...
- 【Python】Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱
本文转载自:https://www.cnblogs.com/colipso/p/4284510.html 好文 mark http://www.52nlp.cn/python-%E7%BD%91%E9 ...
- Python 3实现网页爬虫
1 什么是网页爬虫 网络爬虫( 网页蜘蛛,网络机器人,网页追逐者,自动索引,模拟程序)是一种按照一定的规则自动地抓取互联网信息的程序或者脚本,从互联网上抓取对于我们有价值的信息.Tips:自动提取网页 ...
- 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. ...
- Atitit.研发管理---TOGAF架构跟 (ADM开发方法)总结
Atitit.研发管理---TOGAF架构跟 (ADM开发方法)总结 1. TOGAF是在过去二十年间出现的企业架构框架 1 2. TOGAF内容结构 1 3. TOGAF 实现过程 2 4. 参考 ...
- cURL 学习笔记与总结(2)网页爬虫、天气预报
例1.一个简单的 curl 获取百度 html 的爬虫程序(crawler): spider.php <?php /* 获取百度html的简单网页爬虫 */ $curl = curl_init( ...
随机推荐
- Netty Channel 接口名词理解
1.Channel channel 是负责数据读,写的对象,有点类似于老的io里面的stream.它和stream的区别,channel是双向的,既可以write 也可以read,而stream要分o ...
- 使用OllyDbg破解软件
好,废话不多说,教程开始. 我们首先查壳,是Aspark的壳,对于这个壳,大家应该很熟了.<ignore_js_op> 我已经脱好了壳,再查一下壳,是Dephi的<ignore ...
- iOS:使用贝塞尔曲线绘制图表(折线图、柱状图、饼状图)
1.介绍: UIBezierPath :画贝塞尔曲线的path类 UIBezierPath定义 : 贝赛尔曲线的每一个顶点都有两个控制点,用于控制在该顶点两侧的曲线的弧度. 曲线的定义有四个点:起始点 ...
- GLSL 在OpenGL中向shader传递信息【转】
http://blog.csdn.net/hgl868/article/details/7872219 引言 一个OpenGL程序可以用多种方式和shader通信.注意这种通信是单向的,因为shade ...
- 《Pro JavaScript Techniques》中的一些函数
//获取元素的样式值. function getStyle(elem, name) { if (elem.style[name]) { return elem.style[name]; } else ...
- C#中this的作用
一.C# this指针的几种用法 1.限定被相似的名称隐藏的成员 C# 代码 复制 public class ThisName { public string name = "张三& ...
- DG日志不应用,GAP,主备切换解决思路与办法
环境ORACLE 10G OS WINDOWS 对于DG故障解决思路,DG日志切换不进行应用,DG出现GAP解决方法,DG主备库切换, 当DG出现故障时,第一时间检测alert日志,服务器OS日志,网 ...
- linux 基本命令学习
原文: https://www.oschina.net/translate/useful-linux-commands-for-newbies?lang=chs&p=2
- k-means聚类算法C++实现
原文:http://www.cnblogs.com/luxiaoxun/archive/2013/05/09/3069594.html Clustering 中文翻译作“聚类”,简单地说就是把相似的东 ...
- Android选择/拍照 剪裁 base64/16进制/byte上传图片+PHP接收图片
转载请注明出处:http://blog.csdn.net/iwanghang/article/details/65633129认为博文实用,请点赞,请评论,请关注.谢谢! ~ 老规矩,先上GIF动态图 ...