Java爬虫采集电影,java的webmagic爬虫实现爬出某电影网的下载地址
事先说明不要用这技术,做一些违法的事情,网上玩爬虫的已经有还能多被抓了,此文就是为了学习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爬虫实现爬出某电影网的下载地址相关推荐
- 【爬虫实战】Python 自制天气预报程序!爬取全国天气网
学会了爬虫,让我们自制一个天气预报的爬虫吧! 需求分析 1.用 requests 爬取 全国天气网 的网页源代码: 2.用 pyquery 解析网页源代码,取得天气情况信息的节点: 3.用 xlwt ...
- python实现爬虫探探_全栈 - 9 实战 爬取豆瓣电影数据
这是全栈数据工程师养成攻略系列教程的第九期:9 实战 爬取豆瓣电影数据. 掌握了爬虫的基本原理和代码实现,现在让我们通过实战项目巩固一下. 确定目标 在写爬虫之前应当想清楚:我需要哪方面的数据?需要包 ...
- Python爬虫新手入门教学(一):爬取豆瓣电影排行信息
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...
- python爬虫常用流程_爬虫采集基本流程,python爬虫框架排行榜
爬虫其实是通过伪装数据,借用代理IP工具,并模仿用户行为实现采集信息,这爬虫采集基本流程是怎样的呢?爬虫的框架影响采集的效果,在编写爬虫之前,选择怎么样的爬虫框架好? 今天就跟智连代理小编去看看pyt ...
- java web宿舍管理系统源码_JavaWeb宿舍管理系统(附 演示、源码下载地址)
> 宿舍管理是高校管理的重要组成部分,一套优秀的管理系统不仅可以降低宿舍管理的难度,也能在一定程度上减少学校管理费用的支出,能是建设现代化高校管理体系的重要标志. 本篇文章将带你从运行环境搭建. ...
- python爬虫入门练习,使用正则表达式和requests爬取LOL官网皮肤
刚刚python入门,学会了requests模块爬取简单网页,然后写了个爬取LOL官网皮肤的爬虫,代码奉上 #获取json文件 #获取英雄ID列表 #拼接URL #下载皮肤 #导入re request ...
- 爬虫案例:ajax异步加载,爬取豆瓣电影排行榜
from urllib.request import Request,urlopen from fake_useragent import UserAgent #导入相应的库 base_url ='h ...
- 爬出某电影网站上电影下载地址的简单爬虫程序
# -*- coding: utf-8 -*- """ Created on Mon Jan 29 10:19:26 2018@author: dell "&q ...
- 【爬虫实战】手把手教你用Python爬取某图网4000张图片
相信很多设计小伙伴有好的灵感,但是没有好的设计素材,今天它来了.摄图网4000张设计素材,取之不尽,如下图所示: 好了,废话不多说,开始用Python采集. 01需求分析 采集摄图网的素材图片,目标网 ...
最新文章
- Nginx学习笔记(一) Nginx架构
- C# 检测文件是否被其他进程占用
- ReactNative项目打包(Android IOS)
- 根据 sitemap 的规则[0],当前页面 [pages/index/index] 将被索引
- CSS块级元素与行内元素的区别和联系
- 美观的导航菜单 -- JQuery实现,支持横向, 竖向
- Java并发编程:进程和线程之由来__进程让操作系统的并发性成为可能,而线程让进程的内部并发成为可能...
- wangEditor 全屏 预览 查看源码
- 2018考研数学经验详谈
- Java使用ucanaccess连接Access数据库,报错:UCAExc:::4.0.0 user lacks privilege or object not found: XXXXXX
- Js-函数作用域和块作用域
- win10开始键没反应解决方法
- 工业互联网+危化安全生产综合管理平台怎样建
- GoLang—使用net/http构建Web服务(文件数据存储)(上)
- 如何设计一个简单的KV数据库
- Java中将字符串用空格分割成字符串数组的split方法
- 操作系统真象还原 第二章
- linux 开机连接wifi密码忘了怎么办,无线密码忘了怎么办?
- JumpServer开源堡垒机部署
- 线路横断面测量坐标转换程序