以前没有写过爬虫程序,最近两天就研究了一下java的爬虫框架webmagic。然后写了一个demo

写爬虫的基本思想:

1.抓取目标连接

2.根据页面中标签,抓捕你需要的内容

3.保存结果集

以下是实现demo:

package ming;

import java.util.List;

import us.codecraft.webmagic.Page;
import us.codecraft.webmagic.Site;
import us.codecraft.webmagic.Spider;
import us.codecraft.webmagic.processor.PageProcessor; public class TianyaPageProcessor implements PageProcessor{ //抓取网站的相关配置,包括:编码、抓取间隔、重试次数等
private Site site = Site.me().setRetryTimes(10).setSleepTime(1000); public static final String URL_LIST = "http://bbs\\.tianya\\.cn/post-free-5683314-1\\.shtml"; public void process(Page page) {
if(page.getUrl().regex(URL_LIST).match()){
List<String> names = page.getHtml().xpath("//div[@class='links']/a/text()").all();
for(String name : names){
System.out.println(name);
}
} } public Site getSite() { return site;
} public static void main(String[] args) {
Spider.create(new TianyaPageProcessor()).addUrl("http://bbs.tianya.cn/post-free-5683314-1.shtml")
.run();
}
}

结果集为:

 INFO - Spider bbs.tianya.cn started!
INFO - downloading page http://bbs.tianya.cn/post-free-5683314-1.shtml
民生
娱乐
人文
舆情
股票
汽车
时尚
情感
旅游
星工场
韩国
海南
三亚
重庆
广东
深圳
湖南
广西
福建
贵州
山东
陕西
理财
农场
游戏
品牌
众筹
get page: http://bbs.tianya.cn/post-free-5683314-1.shtml

参考:https://github.com/code4craft/webmagic

框架文档:http://webmagic.io/docs/zh/posts/ch1-overview/thinking.html

最新文章

  1. button 边框
  2. 使用prompt输入一句英文句子和排序方式(升/降),将所有单词按排序方式排序后在网页上输出
  3. Running Kafka At Scale
  4. Yii zii.widgets.grid 隐藏列 方便js获取隐藏值
  5. Ubuntu配置Samba
  6. 第三十节,正则表达式re模块
  7. 【NOIP2015资源+题解】
  8. python设计模式第二十三天【状态模式】
  9. C# 语句 分支语句 switch----case----.
  10. 17秋 软件工程 团队第五次作业 Alpha Scrum12
  11. 【转】你真的懂select Socket模型吗?
  12. 关于UI设计中的交互软件Axure7.0运用
  13. iOS 中JSONModel的使用
  14. (转)ArrayList和LinkedList的几种循环遍历方式及性能对比分析
  15. HTTP协议详解之URL篇
  16. Python+ Calibre 处理 中文报纸
  17. C# System.Timers.Timers的用法在工控设备上位中的用法
  18. Mac环境下Android Studio配置Git以及最基本使用
  19. 如何将git上的代码迁移到Coding上
  20. 【SSH】——两种添加jar包方式的比较

热门文章

  1. BZOJ5379: Tree
  2. C++11 条件变量
  3. window10 java 环境变量配置
  4. HDU1241 Oil Deposits —— DFS求连通块
  5. express 中文文档
  6. vue2实现自定义样式radio单选框
  7. jquery清空div里所有input输入框的值
  8. codeforces B. Balls Game 解题报告
  9. hdu 2680 Choose the best route 解题报告
  10. bleve搜索引擎源码分析之索引——mapping和lucene一样,也有_all