中秋节
🎑:农历八月十五日,是我国传统的中秋节,🌕赏月和🥮吃月饼已经是中国各地过中秋节的必备习俗了,这不公司不给送,想着以我的才能做个月饼不是轻轻松松制作。
首先,我需要知道做🥮月饼需要那些配方,加多少量买什么模具,啊模具随便啦,搓成一个球也不影响,只要口感棒棒的就OK·至于配方哪里找,那就去找DY视频,上面不是很多博主在教别人摆地摊挣钱,这不是轻轻松松就得到博主口中的大几千配方吗?
由于版权问题省略
那必须得分析一波,爬取一些视频数据作为参看,那有人就要问了直接网上看不就好了,那不行,不然这篇文章我怎么发哈哈哈,多学一份知识也不是不错的小伙伴们,这一次主要不是分析爬取的这个过程,而是下载过程中程序出现问题。
使用程序对网络视频进行下载,通常他们的标题可能都会含有windows文件名称不允许的符号,正因如此,一开始还没有意识到这个问题,开始爬取数据才发现程序报错了
文件名、目录名或卷标语法不正确。
这时我才想起来这个问题…
那既然这样我们就开始修改代码使用字符串的replaceAll
方法,用该方法给定的替换值可以是正则表达式,只要把匹配上的字符串替换掉,这样一来问题就解决了,由于我对正则公式又不太熟,毕竟怎么多东西要学习,小脑袋瓜子记不下那么多,记了也会忘下一次什么时候可以用的上呢~偷笑
在线正则表达,我们可以在网址中自己填写正则表达式并且可以得到验证,验证成功则表示我们程序中就可以使用,万无一失!
网址
界面样式如图:
从图中我们可以看出第一个输入框
填写我们的正则表达
, 第二个输入框
用于输入我们需要被验证的信息
,第三个输入框
则是 显示我们的数据有没有被匹配上,被匹配上的数据会高亮显示
输入的只能是数字才能被匹配上正则为:
^[0-9]*$
如果传入的参数是带英文的还能被匹配上吗?
可以看出并没有被匹配上.
网站下拉可以看到常用的表达式
已经举例出来了
如果没有找到也没关系,网站有语法参考
我们可以点击语法参考
来匹配自己需要的正则表达式.
我们已经知道了,windows系统文件名称不能包含\ / : * ? " < >|
那么我们在参考语法规则.
正向预查模式
就是找到我们自己定义的expr数据
(?=expr) - 正向预查模式 expr
注意
:由于\
反斜杠有些特殊使用需要使用双斜杠表示
最终正则表达就是:
[?=/?:\\"*<>|]+
从图中可以看出文件不能包含的字符都已经被匹配上高亮显示了
那我们如果标题里面的汉字会不会被匹配上呢?
可以看出需要验证的数据中
\ / : * ? " < 我是月饼侠>|
我是月饼侠
并没有被高亮显示,因为他本来就不在匹配的正则中
,那么该正则可以在软件中使用。
注意
:由于\
反斜杠有些特殊使用需要使用双斜杠表示
public static void main(String[] args) {
//视频标题包含 < > 符号我们需要过滤
String cd="#月饼制作 #月饼 爱吃爱喝爱生活<美滋滋>#农村美食 #美食推";
System.out.println(cd.replaceAll("[?=/?:\\\\\"*<>|]+",""));
}
运行结果:
可以看出违规符号已经被替换成空了
那么我们正式修改程序后打包运行看看。
可以通过配置文件的形式进行数据的抓取并下载本地中,可以修改下载多少条视频,视频的发布时间,以及视频的排序类型等
废话不多说直接运行代码下载瞧瞧。
看起来非常不错,并且无水印
在试试搜索别的关键词,评论区猜猜我爬取的是啥视频哈哈哈😂
到这这里分享就结束了,如果对你有帮助,一键三连,一起加油!!!