webmagic 爬取示例,新手学习
来源:互联网 发布:个人域名申请 编辑:程序博客网 时间:2024/05/22 18:22
package com.ssii;import us.codecraft.webmagic.Page;import us.codecraft.webmagic.Request;import us.codecraft.webmagic.Site;import us.codecraft.webmagic.Spider;import us.codecraft.webmagic.model.HttpRequestBody;import us.codecraft.webmagic.pipeline.ConsolePipeline;import us.codecraft.webmagic.pipeline.JsonFilePipeline;import us.codecraft.webmagic.processor.PageProcessor;import us.codecraft.webmagic.utils.HttpConstant;import java.io.UnsupportedEncodingException;/** * @author code4crafter@gmail.com <br> */public class LuPaWorldProcessor implements PageProcessor { public static final String URL_POST = "http://ehr\\.goodjobs\\.cn/show\\.php\\?jobID=\\w+"; public static int pageNum = 1; public static final String URL_INDEX = "http://search\\.goodjobs\\.cn/index\\.php\\?boxft=b18\\&page=\\d+\\&cepage=solrpc1503993718l9Komg"; private Site site = Site .me() .setDomain("blog.sina.com.cn") .setSleepTime(3000) .setUserAgent( "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31"); @Override public void process(Page page) { if(page.getUrl().regex(URL_INDEX).match()&&pageNum<61){ //获取URL_INDEX页面列表中的url地址,并加入爬虫 page.addTargetRequests(page.getHtml().xpath("//form[@id=\"jobApp\"]").links().regex(URL_POST).all()); //新增爬取主页面(URL_INDEX类似) Request req = new Request(); req.setMethod(HttpConstant.Method.POST); req.setUrl("http://search.goodjobs.cn/index.php?boxft=b18&page="+(++pageNum)+"&cepage=solrpc1503993718l9Komg"); page.addTargetRequest(req); }else{ /* 进入http://ehr.goodjobs.cn/show.php?jobID=(w+)页面 *由于新安网job有两种不同的页面显示,下面将两种不同得数据做统一爬取 */ //获取待遇 page.putField("pay", page.getHtml().xpath("//div[@class='fr zwx']/strong/text()")); page.putField("pay2", page.getHtml().xpath("//div[@class='op']/strong/text()")); //获取公司名 page.putField("company", page.getHtml().xpath("//p[@class='cname pt10']/a/text()")); page.putField("company2", page.getHtml().xpath("//p[@class='cname']/a/text()")); //获取日期 page.putField("data", page.getHtml().xpath("//div[@class='t1 clearfix']/allText()")); //获取标题 page.putField("title", page.getHtml().xpath("//h1[@class='fl fz22 w500']/text()")); page.putField("title2", page.getHtml().xpath("//h1[@class='cn']/h1/text()")); //获取公司地址 page.putField("address", page.getHtml().xpath("//div[@class='comadress clearfix']/text()")); //获取岗位要求 page.putField("jobRequirements", page.getHtml().xpath("//p[@class='duol mt20 lh28 pb10']/text()")); page.putField("jobRequirements2", page.getHtml().xpath("//p[@class='duol mt20']/text()")); //获取福利 page.putField("welfare", page.getHtml().xpath("//p[@class='t2 mt10']/allText()")); } } @Override public Site getSite() { return site; } public static void main(String[] args) { Spider.create(new LuPaWorldProcessor()).addUrl("http://search.goodjobs.cn/index.php?boxft=b18&page=1&cepage=solrpc1503993718l9Komg").addPipeline(new ConsolePipeline()) .thread(10).run(); }}
阅读全文
0 0
- webmagic 爬取示例,新手学习
- webmagic爬取职位信息,新手上路
- webmagic整理爬取例子
- webmagic爬取渲染网站
- WebMagic爬取网站内容
- 使用webmagic 爬取天气网站
- 使用webmagic 爬取中关村评论
- webmagic爬取腾讯nba数据
- webmagic学习
- webmagic是个神奇的爬虫(二)-- webmagic爬取流程细讲
- 利用WebMagic的Cookie机制进行页面爬取
- 【爬虫】WebMagic结合Spring mvc爬取数据进行存储
- WebMagic爬取论坛链接实现流程分析
- 基于webmagic爬取并下载百度图片
- 【爬虫】WebMagic结合Spring mvc爬取数据进行存储
- 项目中引入webMagic爬取一个网页
- webmagic 学习笔记
- webmagic学习笔记
- Android之bitmap的使用
- 一、storm基础概念
- 节点操作
- HDU 2426 Interesting Housing Problem(EK模板)
- Bootstrap学习笔记——Bootstrap的基本介绍
- webmagic 爬取示例,新手学习
- 前端面试准备(1)
- Java实现邮件发送(带附件)
- 欢迎使用CSDN-markdown编辑器
- 轻装上阵Html5游戏开发,JEESJS(二)
- 自动代码生成的Java Code Template
- Tomcat运行时,发生磁盘空间不足,无法处理此命令
- ScheduledExecutorService定时周期执行指定的任务 ,关于scheduleAtFixedRate 和 scheduleWithFixedDelay使用区别
- 操作系统-面试题/进程与线程