事先说明不要用这技术,做一些违法的事情,网上玩爬虫的已经有还能多被抓了,此文就是为了学习webmagic

源码地址:https://github.com/smltq/spring-boot-demo/tree/master/webmagic

DetailPageProcesser类

package com.qf.webmagic.controller;

import us.codecraft.webmagic.Page;

import us.codecraft.webmagic.Site;

import us.codecraft.webmagic.processor.PageProcessor;

public class DetailPageProcesserimplements PageProcessor {

private Sitesite = Site.me().setDomain("127.0.0.1");

@Override

public void process(Page page) {

page.putField("download", page.getHtml().xpath("//*[@id=\"Zoom\"]/span/table/tbody/tr/td/a").toString());

}

@Override

public Site getSite() {

return site;

}

}

ListPageProcesser类

package com.qf.webmagic.controller;

import us.codecraft.webmagic.Page;

import us.codecraft.webmagic.Site;

import us.codecraft.webmagic.processor.PageProcessor;

public class ListPageProcesserimplements PageProcessor {

private Sitesite = Site.me().setDomain("127.0.0.1");

@Override

public void process(Page page) {

page.putField("title", page.getHtml().xpath("//a[@class='ulink']").all().toString());

}

@Override

public Site getSite() {

return site;

}

}

主启动类

package com.qf.webmagic.controller;

import us.codecraft.webmagic.Spider;

public class Main {

public static void main(String[] args) {

//获取影片标题和页面链接

Spider.create(new ListPageProcesser()).addUrl("https://www.dytt8.net/html/gndy/dyzz/list_23_1.html")

.addPipeline(new MyPipeline()).thread(1).run();

//获取指定详情页面的影片下载地址

Spider.create(new DetailPageProcesser()).addUrl("https://www.dytt8.net/html/gndy/dyzz/20191204/59453.html")

.addPipeline(new MyPipeline()).thread(1).run();

}

}

MyPipeline类

package com.qf.webmagic.controller;

import lombok.extern.slf4j.Slf4j;

import us.codecraft.webmagic.ResultItems;

import us.codecraft.webmagic.Task;

import us.codecraft.webmagic.pipeline.Pipeline;

import java.util.Map;

@Slf4j

public class MyPipelineimplements Pipeline {

@Override

public void process(ResultItems resultItems, Task task) {

log.info("get page: " + resultItems.getRequest().getUrl());

for (Map.Entry entry : resultItems.getAll().entrySet()) {

log.info(entry.getKey() +":\t" + entry.getValue());

}

}

}

WebMagicController类

package com.qf.webmagic.controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

@RestController

public class WebMagicController {

@RequestMapping("/hello")

public String hello() {

return "Hello World!";

}

}

WebMagicApplication项目启动

package com.qf.webmagic;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication

public class WebMagicApplication {

public static void main(String[] args) {

SpringApplication.run(WebMagicApplication.class, args);

}

}

依赖

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.1.8.RELEASE

com.easy

webmagic

0.0.1

webmagic

Demo project for Spring Boot

1.8

UTF-8

UTF-8

UTF-8

us.codecraft

webmagic-core

0.7.3

us.codecraft

webmagic-extension

0.7.3

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-test

test

org.apache.httpcomponents

httpclient

junit

junit

org.apache.commons

commons-lang3

us.codecraft

xsoup

com.github.dreamhead

moco-core

org.slf4j

slf4j-api

org.mockito

mockito-all

org.slf4j

slf4j-log4j12

commons-collections

commons-collections

org.assertj

assertj-core

org.jsoup

jsoup

org.apache.commons

commons-io

com.jayway.jsonpath

json-path

com.alibaba

fastjson

org.projectlombok

lombok

compile

org.quartz-scheduler

quartz

2.2.1

org.quartz-scheduler

quartz-jobs

2.2.1

org.apache.httpcomponents

httpcore

4.4.11

commons-io

commons-io

2.4

org.jsoup

jsoup

1.8.3

us.codecraft

xsoup

0.3.1

commons-collections

commons-collections

3.2.2

org.apache.maven.plugins

maven-compiler-plugin

1.8

1.8

Java爬虫采集电影,java的webmagic爬虫实现爬出某电影网的下载地址相关推荐

  1. 【爬虫实战】Python 自制天气预报程序!爬取全国天气网

    学会了爬虫,让我们自制一个天气预报的爬虫吧! 需求分析 1.用 requests 爬取 全国天气网 的网页源代码: 2.用 pyquery 解析网页源代码,取得天气情况信息的节点: 3.用 xlwt ...

  2. python实现爬虫探探_全栈 - 9 实战 爬取豆瓣电影数据

    这是全栈数据工程师养成攻略系列教程的第九期:9 实战 爬取豆瓣电影数据. 掌握了爬虫的基本原理和代码实现,现在让我们通过实战项目巩固一下. 确定目标 在写爬虫之前应当想清楚:我需要哪方面的数据?需要包 ...

  3. Python爬虫新手入门教学(一):爬取豆瓣电影排行信息

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...

  4. python爬虫常用流程_爬虫采集基本流程,python爬虫框架排行榜

    爬虫其实是通过伪装数据,借用代理IP工具,并模仿用户行为实现采集信息,这爬虫采集基本流程是怎样的呢?爬虫的框架影响采集的效果,在编写爬虫之前,选择怎么样的爬虫框架好? 今天就跟智连代理小编去看看pyt ...

  5. java web宿舍管理系统源码_JavaWeb宿舍管理系统(附 演示、源码下载地址)

    > 宿舍管理是高校管理的重要组成部分,一套优秀的管理系统不仅可以降低宿舍管理的难度,也能在一定程度上减少学校管理费用的支出,能是建设现代化高校管理体系的重要标志. 本篇文章将带你从运行环境搭建. ...

  6. python爬虫入门练习,使用正则表达式和requests爬取LOL官网皮肤

    刚刚python入门,学会了requests模块爬取简单网页,然后写了个爬取LOL官网皮肤的爬虫,代码奉上 #获取json文件 #获取英雄ID列表 #拼接URL #下载皮肤 #导入re request ...

  7. 爬虫案例:ajax异步加载,爬取豆瓣电影排行榜

    from urllib.request import Request,urlopen from fake_useragent import UserAgent #导入相应的库 base_url ='h ...

  8. 爬出某电影网站上电影下载地址的简单爬虫程序

    # -*- coding: utf-8 -*- """ Created on Mon Jan 29 10:19:26 2018@author: dell "&q ...

  9. 【爬虫实战】手把手教你用Python爬取某图网4000张图片

    相信很多设计小伙伴有好的灵感,但是没有好的设计素材,今天它来了.摄图网4000张设计素材,取之不尽,如下图所示: 好了,废话不多说,开始用Python采集. 01需求分析 采集摄图网的素材图片,目标网 ...

最新文章

  1. Nginx学习笔记(一) Nginx架构
  2. C# 检测文件是否被其他进程占用
  3. ReactNative项目打包(Android IOS)
  4. 根据 sitemap 的规则[0],当前页面 [pages/index/index] 将被索引
  5. CSS块级元素与行内元素的区别和联系
  6. 美观的导航菜单 -- JQuery实现,支持横向, 竖向
  7. Java并发编程:进程和线程之由来__进程让操作系统的并发性成为可能,而线程让进程的内部并发成为可能...
  8. wangEditor 全屏 预览 查看源码
  9. 2018考研数学经验详谈
  10. Java使用ucanaccess连接Access数据库,报错:UCAExc:::4.0.0 user lacks privilege or object not found: XXXXXX
  11. Js-函数作用域和块作用域
  12. win10开始键没反应解决方法
  13. 工业互联网+危化安全生产综合管理平台怎样建
  14. GoLang—使用net/http构建Web服务(文件数据存储)(上)
  15. 如何设计一个简单的KV数据库
  16. Java中将字符串用空格分割成字符串数组的split方法
  17. 操作系统真象还原 第二章
  18. linux 开机连接wifi密码忘了怎么办,无线密码忘了怎么办?
  19. JumpServer开源堡垒机部署
  20. 线路横断面测量坐标转换程序

热门文章

  1. 2080Ti与3080Ti单机多卡安装与并行训练
  2. python实战(二)模拟登陆两小无猜网
  3. Linux系统从安装开始
  4. Spring MVC原理介绍
  5. 成年人必须学会的一件事就是,你要懂得有所保留
  6. 30岁后,投简历没面试,年纪太大没救了?
  7. 如何预防中老年人视力下降
  8. 不急于揭穿男人的三种谎言
  9. GRE之阅读——结构分析法
  10. 香港公司逾期报税处罚