网页裁剪项目——思路、url接收处理

本文介绍如何使用SpringBoot接收URL,通过Java调用Python处理网页内容,去除广告等冗余信息,实现定制化的网页展示。涉及技术包括SpringBoot、Python、Jython及网页解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、思路

二、url接收处理

1,简易版处理

(1)获取无 '/'的url

(2)处理有'/'的url

三、spring boot中调用python

1,java中调用python的相关知识

(1)加入dependency

(2)运行基本的python程序

(3)Failed to install '': java.nio.charset.UnsupportedCharsetException: cp0 处理

(4)调用python文件

2,编写获取网页指定内容的python程序!


用网页在看电影的时候,总是有那么一堆的广告,如果用F12去关掉广告,总要浪费点时间,而且不方便。正好学了那么多技术,计划做一个网页跳转的web应用,能够删掉不必要的内容。

一、思路

看一看我想要的操作:

输入一个链接——>spring获取url内容——>交给python处理网页、剔除不必要的部分,然后返回网页——>通过前端可以看电影了!

因此我需要几个技术来处理:

spring boot + spring mvc 处理 url + java调用python接口 + python 2(2要熟悉一点)截取指定内容 ——> 返回给到前台

二、url接收处理

1,简易版处理

(1)获取无 '/'的url

博主通过 http://localhost:8089/tailor 这个url处理后续的网页,通过一个路径参数,取出tailor后面的变量并打印出来

@Controller
//  裁剪网页控制器
@RequestMapping("/tailor") 
public class UrlHandlerController {
// 采用路径参数方式获取url值
 @RequestMapping("/{url}")
 @ResponseBody
 public String tailor(@PathVariable String url) {
  return "url: " + url;
 }
 
 @RequestMapping("/*")
 @ResponseBody
 public String index(Model model) {
  return "请输入需裁剪的网页";
 }
}

(2)处理有'/'的url

这里有个难点,当在url栏中输入:http://localhost:8089/tailor/www.baidu.com/f  则会报错:

研究它的url输入,可以看出: 这个url只能获取到最后一个 .  前的地址,而且有/的话不能识别出这个url

因此,输入的url需要有一个规范:用$$代替/,以. 结束url

比如www.baidu.com/syny 需写成www.baidu.com$$syny

url值:http://localhost:8089/tailor/www.baidu.com$$syny.

接收到数据:

三、spring boot中调用python

处理网页,用python比较方便。

1,java中调用python的相关知识

(1)加入dependency

要想在spring boot里运行python程序,在本项目中采用的是自带一个python解释器,Jython(原JPython),一个由Java语言编写的Python解释器。

<dependency>
    <groupId>org.python</groupId>
    <artifactId>jython-standalone</artifactId>
    <version>2.7.0</version>
</dependency>

(2)运行基本的python程序

 @Test
 public void demo1() {
  PythonInterpreter interpreter = new PythonInterpreter();
  interpreter.exec("print('hello syny')");
  interpreter.close();
 }

(3)Failed to install '': java.nio.charset.UnsupportedCharsetException: cp0 处理

在run的arguments中加入:-Dpython.console.encoding=UTF-8,再运行即可(不过运行真的很慢~~)

(4)调用python文件

 @Test
 public void execFileTest() {
  PythonInterpreter interpreter = new PythonInterpreter();
  interpreter.execfile("D:/test/python/hello.py"); 
  interpreter.close();
 }

2,编写获取网页指定内容的python程序!

思路是通过urlib2处理url请求,然后用beautiful处理html

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值