java
eclipse
首先在在网上下载webmagic的依赖jar包,直接去官网下载即可,webmagic是github上的一个开源项目
将下载下来的jar包解压,放入我们新建的java工程项目中,然后bulidpath,将jia包依赖进来
之后我们创建一个自己的处理类,这个类需要实现PageProcessor接口,然后重写未实现的方法
只需要重写俩个方法,我们就可以完成一个webmagic爬虫示例
第一个方法是用来对爬虫进行相关参数的设置的,包括断线重连间隔和请求间隔
然后我们爬去csdn上的最新文章标题,下面就是代码全文:package spider;import us.codecraft.webmagic.Page;import us.codecraft.webmagic.Site;import us.codecraft.webmagic.Spider;import us.codecraft.webmagic.processor.PageProcessor;public class BaiDuJingYan implements PageProcessor { //爬虫的配置, 重试时间 抓取间隔 private Site site = Site.me().setRetryTimes(3).setSleepTime(100); //计数器 private static int count = 0; public static void main(String[] args) { long startTime,endTime; System.out.println("开始爬取..."); startTime = System.currentTimeMillis(); Spider.create(new BaiDuJingYan()).addUrl("https://www.cnblogs.com/").thread(5).run(); endTime = System.currentTimeMillis(); System.out.println("爬取结束,耗时约"+((endTime - startTime)/1000)+"秒,爬取了"+count+"条记录"); } @Override public Site getSite() { return site; } @Override public void process(Page page) { //判断链接是否符合http://www.cnblogs.com/数字字母-/p/7个数字.html格式 if(!(page.getUrl().regex("http://www.cnblogs.com/[a-z 0-9 -]+/p/[0-9]{7}.html").match())) { //加入满足条件的链接 page.addTargetRequests( page.getHtml().xpath("//*[@id=\"post_list\"]/div/div[@class='post_item_body']/h3/a/@href").all() ); }else { //获取页面需要的内容 System.out.println("抓取的内容:"+page.getHtml().xpath("//*[@id=\"Header1_HeaderTitle\"]/text()").get()); count++; } }}
然后我们运行一下代码,成功爬去csdn网站上的一些数据并将其打印了出来,ok,webmagic框架接入成功
ps:补充一个问题,那个错误提示并不影响我的运行,所以没有管,可是有些小伙伴反映不解决这个问题根本没法跑,嗯下面解决一下这个打日志的jar没加载上的问题在复制进来的lib目录下创建一个名叫 log4j.properties 的文件log4j.rootLogger=INFO, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n然后将这个lib目录加入到run命令的配置中:add the location of your log4j.properties file to the Classpath in Eclipse.Make sure your project is open in Eclipse, then click on the "Run" menu at the top of Eclipse and click on the following:RunRun ConfigurationsClasspath (tab)User EntriesAdvanced (button on the right)Add Foldersthen navigate to the folder that contains your log4j.properties fileApplyRun
如果觉得有用就给我投票吧(~ ̄▽ ̄)~