日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java爬蟲框架之WebMagic實戰

瀏覽:73日期:2022-08-20 10:48:00

一、介紹

WebMagic是一個簡單靈活的Java爬蟲框架?;赪ebMagic,你可以快速開發出一個高效、易維護的爬蟲。

二、如何學習

1.查看官網

官網地址為:http://webmagic.io/官網詳細文檔:http://webmagic.io/docs/zh/

2.跑通hello world示例(具體可以參考官網,也可以參考博客)

我下面寫的單元測試案例,可作為Hello World示例。

注意需要導入Maven依賴:

<dependency> <groupId>us.codecraft</groupId> <artifactId>webmagic-core</artifactId> <version>0.7.3</version></dependency><dependency> <groupId>us.codecraft</groupId> <artifactId>webmagic-extension</artifactId> <version>0.7.3</version></dependency>

3.帶著一個目的

說說我的目的,最近我開發的博客系統,其中有個導入第三方博客的插件,這個插件比較簡單就是一個搜索框,在對應的搜索框里面填寫URL,點擊搜索即可導入到自己的博客。

以導入博客園單篇文章為例:

下面是我的源代碼(單篇文章導入,我已經將其封裝成一個工具類):

import cn.hutool.core.date.DateUtil;import com.blog.springboot.dto.CnBlogModelDTO;import com.blog.springboot.entity.Posts;import com.blog.springboot.service.PostsService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component;import us.codecraft.webmagic.Page;import us.codecraft.webmagic.Site;import us.codecraft.webmagic.Spider;import us.codecraft.webmagic.pipeline.ConsolePipeline;import us.codecraft.webmagic.processor.PageProcessor;import us.codecraft.webmagic.selector.Selectable;import javax.annotation.PostConstruct;/** * 導入博客園文章工具類 */@Componentpublic class WebMagicCnBlogUtils implements PageProcessor { @Autowired private PostsService postService; public static WebMagicCnBlogUtils magicCnBlogUtils; @PostConstruct public void init() { magicCnBlogUtils = this; magicCnBlogUtils.postService = this.postService; } private Site site = Site.me() .setDomain('https://www.cnblogs.com/') .setSleepTime(1000) .setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'); @Override public void process(Page page) { Selectable obj = page.getHtml().xpath('//div[@class=’post’]'); Selectable title = obj.xpath('//h1[@class=’postTitle’]//a'); Selectable content = obj.xpath('//div[@class=’blogpost-body’]'); System.out.println('title:' + title.replace('<[^>]*>', '')); System.out.println('content:' + content); CnBlogModelDTO blog = new CnBlogModelDTO(); blog.setTitle(title.toString()); blog.setContent(content.toString()); Posts post = new Posts(); String date = DateUtil.date().toString(); post.setPostAuthor(1L); post.setPostTitle(title.replace('<[^>]*>', '').toString()); post.setPostContent(content.toString()); post.setPostExcerpt(content.replace('<[^>]*>', '').toString()); post.setPostDate(date); post.setPostDate(date); post.setPostModified(date); boolean importPost = magicCnBlogUtils.postService.insert(post); if (importPost) { System.out.println('success'); } else { System.out.println('fail'); } } @Override public Site getSite() { return site; } /** * 導入單篇博客園文章數據 * * @param url */ public static void importSinglePost(String url) { Spider.create(new WebMagicCnBlogUtils()).addUrl(url).addPipeline(new ConsolePipeline()).run(); }}

單元測試代碼:

import com.blog.springboot.dto.CnBlogModelDTO;import us.codecraft.webmagic.Page;import us.codecraft.webmagic.Site;import us.codecraft.webmagic.Spider;import us.codecraft.webmagic.pipeline.ConsolePipeline;import us.codecraft.webmagic.processor.PageProcessor;import us.codecraft.webmagic.selector.Selectable;public class WebMagicJunitTest implements PageProcessor { private Site site = Site.me() .setDomain('https://www.cnblogs.com/') .setSleepTime(1000) .setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'); @Override public void process(Page page) { Selectable obj = page.getHtml().xpath('//div[@class=’post’]'); Selectable title = obj.xpath('//h1[@class=’postTitle’]//a'); Selectable content = obj.xpath('//div[@class=’blogpost-body’]'); System.out.println('title:' + title.replace('<[^>]*>', '')); System.out.println('content:' + content); } @Override public Site getSite() { return site; } public static void importSinglePost(String url) { Spider.create(new WebMagicJunitTest()).addUrl(url).addPipeline(new ConsolePipeline()).run(); } public static void main(String[] args) { WebMagicJunitTest.importSinglePost('https://www.cnblogs.com/youcong/p/9404007.html'); }

另外我是怎么知道要爬取哪些數據呢?需求第一,然后通過Chrome或Firefox瀏覽器檢查元素,如圖:

Java爬蟲框架之WebMagic實戰

到此這篇關于Java爬蟲框架之WebMagic實戰的文章就介紹到這了,更多相關Java WebMagic內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲韩日在线| 亚洲午夜国产成人| 国产丝袜一区| 青青青国产精品| 91p九色成人| 国产精品成人一区二区网站软件| 亚洲一区二区免费看| 婷婷综合在线| 中文国产一区| 亚洲精品字幕| 久久精品超碰| 精品三级在线| 久久精品91| 亚洲国产日韩欧美在线| 国产美女精品| 日韩精品久久理论片| 中文字幕亚洲精品乱码| 日韩一区二区三区四区五区| 国产探花在线精品| 高清一区二区| 99精品视频在线| 国产偷自视频区视频一区二区| 蘑菇福利视频一区播放| 亚洲18在线| 国产极品模特精品一二| 国产成人久久精品麻豆二区 | 99国产精品久久久久久久成人热 | 亚洲一区二区三区四区五区午夜| 久久亚洲风情| 国产女人18毛片水真多18精品| 欧美精品国产一区| 国产黄大片在线观看| 欧美粗暴jizz性欧美20| 午夜电影一区| 麻豆91在线播放| 久久久夜精品| 视频一区二区国产| 国产精品分类| 亚洲午夜91| 亚洲精品韩国| 国产aⅴ精品一区二区三区久久| 欧美成人亚洲| 国产精品久久久久久模特| 日韩在线综合| 免费日韩av| 精品一区二区三区免费看 | 亚洲人www| 亚洲综合欧美| 成人国产精品一区二区免费麻豆| 国产一区不卡| 国产精品巨作av| 国产精品mv在线观看| 视频小说一区二区| 精品五月天堂| 日韩动漫一区| 亚洲二区免费| 亚洲尤物av| 欧美 日韩 国产精品免费观看| 激情视频网站在线播放色| 久久国内精品| 日韩欧美另类中文字幕| 88久久精品| 蜜臀国产一区| 久久精品国产亚洲一区二区三区| 亚洲国产一区二区在线观看 | 精品视频91| 国产亚洲福利| 日韩精品视频中文字幕| 精品一区91| 激情婷婷久久| 亚州av一区| 国产精品99久久免费观看| 欧美视频精品全部免费观看| 在线综合亚洲| 日韩中文字幕区一区有砖一区| 午夜天堂精品久久久久| 不卡中文字幕| 国产精品美女久久久| 爽好多水快深点欧美视频| 91一区二区| 啪啪国产精品| 欧美日韩国产高清电影| 亚洲调教视频在线观看| 99久久99视频只有精品| 香蕉精品视频在线观看| 欧美日韩国产精品一区二区亚洲| 日本免费一区二区三区四区| 91精品电影| 日本一区二区中文字幕| 精品香蕉视频| 亚洲午夜精品久久久久久app| 性一交一乱一区二区洋洋av| 国产精品久久久免费| av在线最新| 91久久视频| 亚洲小说春色综合另类电影| 国产精品hd| 亚洲高清成人| 日韩av不卡在线观看| 日韩中文在线电影| 视频一区二区国产| 亚洲最新无码中文字幕久久 | 日韩中文欧美在线| 国产一区二区三区亚洲综合| 午夜欧美巨大性欧美巨大| 欧美99久久| 国产精品久久久久久久久久妞妞| 尤物tv在线精品| 久久男人av| 中文字幕亚洲影视| 欧美午夜精彩| 国产经典一区| 日韩三级精品| 亚洲免费精品| 久久久久久色| 欧美日韩国产高清| 久久国产精品色av免费看| 91九色精品| 樱桃视频成人在线观看| 日韩av网站在线免费观看| 99视频精品全国免费| 牛牛精品成人免费视频| 亚洲乱码一区| 国产精品免费看| 99视频一区| 夜夜精品视频| 国产综合精品| 欧美不卡视频| 日韩电影二区| 韩日一区二区| 国产一区不卡| 老鸭窝一区二区久久精品| 麻豆91在线播放| 久久a爱视频| 久久精品国产精品亚洲毛片| 在线精品福利| 亚洲欧美日韩在线观看a三区| 九九精品调教| 欧美日韩精品免费观看视欧美高清免费大片 | 国产 日韩 欧美一区| 国产精品.xx视频.xxtv| 久久99青青| 日韩欧美午夜| 国产成人精选| 日韩欧美一区二区三区在线视频| 欧美偷窥清纯综合图区| 国产成人精品福利| 国产精品二区不卡| 久久中文亚洲字幕| 999在线观看精品免费不卡网站| 午夜一区在线| 日本中文字幕不卡| 国产精品成人3p一区二区三区| 色综合狠狠操| 日韩精品久久久久久久电影99爱| 亚洲高清激情| 日韩不卡手机在线v区| 久久国产欧美日韩精品| 国产乱人伦精品一区| 波多野结衣久久精品| 亚洲二区三区不卡| 麻豆一区二区在线| 日韩一区亚洲二区| 综合一区在线| 国产精品字幕| 青青草91久久久久久久久| 六月婷婷综合| 国产精品天堂蜜av在线播放| 九九精品调教| 国产精品xxx| 久久天堂精品| 久久不见久久见免费视频7| 亚洲黄页一区| 久久中文精品| 欧美精品自拍| 久久久男人天堂| 国产毛片精品| 综合色就爱涩涩涩综合婷婷| 亚洲欧美综合| yellow在线观看网址| 91国内精品| 综合五月婷婷| 亚洲香蕉网站| 日韩欧美一区二区三区免费看| 日韩av资源网| 丝袜美腿亚洲一区| 蜜桃成人av| 精品成人18| 精品三级久久久| 日韩精品a在线观看91| 欧美日韩国产探花| 精品捆绑调教一区二区三区| 国语精品一区| 国产成人77亚洲精品www| 国产精品高清一区二区| 国产精品香蕉| 精品欧美视频| 国产不卡av一区二区| 波多野结衣久久精品| 国产成人精品一区二区三区免费|