久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java基于WebMagic爬取某豆瓣電影評(píng)論的實(shí)現(xiàn)

瀏覽:161日期:2022-05-24 11:57:25
目的

搭建爬蟲(chóng)平臺(tái),爬取某豆瓣電影的評(píng)論信息。

準(zhǔn)備

webmagic是一個(gè)開(kāi)源的Java垂直爬蟲(chóng)框架,目標(biāo)是簡(jiǎn)化爬蟲(chóng)的開(kāi)發(fā)流程,讓開(kāi)發(fā)者專注于邏輯功能的開(kāi)發(fā)。webmagic的核心非常簡(jiǎn)單,但是覆蓋爬蟲(chóng)的整個(gè)流程,也是很好的學(xué)習(xí)爬蟲(chóng)開(kāi)發(fā)的材料。

下載WebMagic源碼,或Maven導(dǎo)入,或Jar包方式導(dǎo)入。 碼云地址:https://gitee.com/flashsword20/webmagic

試運(yùn)行

搭建好后打開(kāi)項(xiàng)目, 在 us.codecraft.webmagic.processor.example 包下有幾個(gè)可運(yùn)行的例子,我們可以直接運(yùn)行體驗(yàn)(BaiduBaikePageProcessor 百度百科的這個(gè)比較穩(wěn)定)。

爬到結(jié)果說(shuō)明沒(méi)問(wèn)題。

Java基于WebMagic爬取某豆瓣電影評(píng)論的實(shí)現(xiàn)

自定義爬蟲(chóng)

接下來(lái)我們自己編寫(xiě)一個(gè)爬取豆瓣評(píng)論的爬蟲(chóng)。

爬取地址:https://movie.douban.com/subject/35096844/reviews?start=0

Java基于WebMagic爬取某豆瓣電影評(píng)論的實(shí)現(xiàn)

F12進(jìn)入開(kāi)發(fā)者模式 分析前端頁(yè)面

Java基于WebMagic爬取某豆瓣電影評(píng)論的實(shí)現(xiàn)

我們發(fā)現(xiàn)我們需要爬取的評(píng)論信息存放在 class=short-content的div 中。

創(chuàng)建一個(gè)豆瓣爬取的類DoubanPageProcessor如下:

package us.codecraft.webmagic.processor.example; import us.codecraft.webmagic.Page;import us.codecraft.webmagic.ResultItems;import us.codecraft.webmagic.Site;import us.codecraft.webmagic.Spider;import us.codecraft.webmagic.processor.PageProcessor; import java.util.List;import java.util.Map; /** * A simple PageProcessor. * 爬取豆瓣某電影的評(píng)論 爬取地址:https://movie.douban.com/subject/35096844/reviews?start=0 * * @author code4crafter@gmail.com <br> * @since 0.1.0 */public class DoubanPageProcessor implements PageProcessor { private Site site; public DoubanPageProcessor(String urlPattern) { this.site = Site.me().setRetryTimes(3).setSleepTime(300); // 設(shè)置站點(diǎn)重試次數(shù)3 間隔300ms } @Override public void process(Page page) { page.putField('title', page.getHtml().xpath('//title/text()')); //爬取網(wǎng)頁(yè)標(biāo)題// page.putField('html', page.getHtml().toString()); //爬取整個(gè)頁(yè)面的html page.putField('titleList', page.getHtml().css('div.short-content', 'text').all()); // 我們要爬取的核心信息內(nèi)容,獲取方式與css選擇器用法一樣// page.putField('content', page.getHtml().smartContent()); } @Override public Site getSite() { //settings return site; } public static void main(String[] args) { Spider spider = Spider.create(new DoubanPageProcessor('https://movie.douban.comd+')); ResultItems resultItems = spider.<ResultItems>get('https://movie.douban.com/subject/35096844/reviews?start=0');// 爬取并獲得爬取結(jié)果 Map<String, Object> map = resultItems.getAll(); for (Map.Entry entry : map.entrySet()) { System.out.println(entry.getKey() + ' : ' + entry.getValue()); //打印爬取的所有內(nèi)容 } List<String> shortList = (List<String>) map.get('titleList'); System.out.println('=====================分隔線===================n短評(píng)如下:'); for (int i = 0; i < shortList.size(); i++) { System.out.println(i + '、' + shortList.get(i).trim()); // 打印爬取的評(píng)論內(nèi)容 } spider.close(); } }

運(yùn)行結(jié)果如下:

Java基于WebMagic爬取某豆瓣電影評(píng)論的實(shí)現(xiàn)

爬取成功。

到此這篇關(guān)于Java基于WebMagic爬取某豆瓣電影評(píng)論的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Java WebMagic爬取內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: 豆瓣
相關(guān)文章:
主站蜘蛛池模板: 甘南县| 苍山县| 颍上县| 贵溪市| 辽宁省| 沙湾县| 鄂尔多斯市| 德令哈市| 富宁县| 三原县| 榆中县| 华阴市| 南平市| 辽中县| 米易县| 克山县| 儋州市| 平遥县| 武义县| 绥德县| 西青区| 慈利县| 清水县| 句容市| 万年县| 稷山县| 乐清市| 涟源市| 柞水县| 久治县| 桂林市| 贺兰县| 阿拉善盟| 丹寨县| 隆林| 昭觉县| 普宁市| 磐石市| 康定县| 定远县| 武汉市|