自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 shell脚本执行定时任务,每天定时批量执行多个pthon脚本爬取网站内容,提取出地址并转换为经纬度

shell脚本实现多个python脚本爬取,根据脚本不同输出不同的日志到对应文件。并设置如果脚本执行失败自动再次重试,重试最大次数为3次。由于有反爬机制,使用了自动化测试工具selenium的无头模式进行爬取,使用fake_useragent设置随机请求头。对于有些反爬的网站,这种限制频率的方式是没用的。只要是同个ip在爬,速度够快,很快就会封掉。crontab -e打开的文件,里面的内容需要使用全路径。主要是一个cron表达式的理解,其他没有什么。有时候元素未显示在当前窗口,需要执行。

2024-01-11 16:54:19 758 1

原创 SocketChannel和ServerSocketChannel区别

用于创建基于tcp协议的客户端对象,因为SocketChannel中不存在accept()方法,所以,它不能成为一个服务端程序。,SocketChannel对象可以连接到其他tcp服务器程序。

2023-12-22 17:54:49 423

原创 通过python调用java服务的接口,将pdf文件放到MinIO服务器中, 遇到boundary=<calculated when request is sent>动态设置的问题

有个问题是不能查看页面源码,使用断点查看请求下来的代码保存到本地,或使用ctrl+s将网页保存为mhtml文件。公司的背景需求是:先爬取GB网站再爬取粮食网站,用GB网站的基本信息调用粮食网站的搜索功能,实现搜索查询。设置之后发现boundary是动态生成的,如果写死会导致覆盖了原来的请求头,传的文件参数无效。粮食网站展示的数据是假数据,很多数据没有展示,但搜索特定信息是能搜到的。有验证码,且验证码是一个覆盖在下载页面的页面,不能右键,不能跳过。解决:使用webdriver模拟浏览器事件进行爬取。

2023-12-22 17:53:46 1123

原创 SpringBoot集成支付功能(支付宝)

网上很多说可以免签的(大多数都使用的支付宝的当面付功能)。但最后发现当面付可以在没有营业执照的情况下开通,但调用接口时,是必须使用。例如以下的dependency:分别是:com.alipay.sdk、alipay-sdk-java、4.38.157.ALL。在idea的maven中输入命令,等待后刷新maven即可。浏览器搜索找不到的包,例如:com.alipay.sdk。运行之后,弹出一个支付连接,输入到浏览器即可访问。Dfile:下载到电脑的jar包的存放路径。(也就是要认证营业执照)的。

2023-12-11 16:56:33 879 1

原创 OPTIONS状态代码:403 Forbidden

问题出在我配置的网关,8000。但部署的时候由于改变了启动环境,导致直接访问了其中一个微服务。请求方法:OPTIONS状态代码:403 Forbidden。项目本地运行没问题,分别部署好前后端之后,再运行报错。最后查看资料,OPTIONS请求出现是正常的。

2023-12-06 18:00:06 823 2

原创 使用docker部署前端项目,创建nginx容器,配置静态页面不生效。

docker使用nginx镜像,9002端口映射到docker80端口,配置好nginx.conf后,访问ip.端口号还是一直显示nginx的欢迎页面。也就是配置的页面未生效。在server块中需要配置监听的是80端口,而不是宿主机的9002端口。root也是docker容器中的路径,而不是宿主机的路径。

2023-12-06 17:52:28 603 1

原创 ElementUI-Plus虚拟化表格的使用

这样每个列的dataKey都会找到数据的key,比如dataKey: 'name’就会展示 name: 'xxx’中的xxx。需要改的只有generateColumns列的生成和数据的绑定generateData。生成列的要点在于给出列的值,重点是这个dataKey。虚拟化表格在案例中是自己生成了一个数组并展示。列的dataKey用于和数据的key值绑定。这一段是复选框的逻辑,不用改。

2023-11-28 17:23:18 967

原创 新增、更新中对话框的复用逻辑

编辑过的那一行的由于响应式的原因也变为空,并且跟着新增输入框的值改变。点击新增,传入isShow显示对话框,将当前的传入数据置为空。点击更新,传入isShow显示对话框,还有传入当前行的信息。对话框作为一个组件,更新和新增中基本一样。否则会出现的问题是,点击编辑后点击新增。,让之前响应式的引用失效。从而不影响之前行的数据。在子组件中传点击确定时,发送请求更新、新增。

2023-11-27 15:58:40 339

原创 reactive重新赋值清空数据的坑点

let tableData = reactive<any[]>([])响应式数据。如果直接tableData = reactive<any[]>([]),不可行。用于创建响应式对象,直接重新赋值会破坏之前对。我造成的后果是:表单清空后马上又赋值。但表单数据不会回显上去,仍全为空。二选一,这样都不会破坏对。

2023-11-24 17:24:36 487 1

原创 reactive响应式触发失败的一个比较隐蔽的案例

原因是在函数内部,又使用 `tableData = reactive<any[]>([])重新定义了 tableData。这里重新 reactive 了一个新的响应式数据,与外部声明的 tableData 失去了联系。有一个 tableData = reactive<any[]>([]),在函数外部我声明了。因此内部的修改无法触发外部 tableData 的更新。最后导致响应式触发失败。

2023-11-22 15:44:34 19 1

原创 elementui发送请求更新tablename时不会更新表

发送请求更新tablename时不会更新表,请求后在输入框输入任意字符后就更新了,并且不需要触发enter事件。输入框输入字符之后更新了,是因为输入框绑定了表单数据,Vue 内部会自动处理表单数据变化导致的界面更新。对于响应式数据,需要使用一些特殊的方法才能保证数据变化能够触发视图更新。来处理响应式数据,这样可以避免直接操作源数据。获取数据后直接修改 tableData。Vue 3 中,也可以使用。

2023-11-17 11:44:10 60

原创 异常:TypeError: ‘caller‘, ‘callee‘, and ‘arguments‘ properties may not be accessed on strict mode f

报错:异常:TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them at Function.invokeGetter (<anonymous>:3:28)]return '密码必须包含至少一个数字和一个字母';vue3默认创建,会使用ESLint,也就是开启了严格模式。

2023-11-15 14:26:33 2893 1

原创 ThreadLocal 有什么用?

一个变量,那么访问这个变量的每个线程都会有这个变量的本地副本,这也是变量名的由来。他们可以使用get()和set()方法来获取默认值或将其值更改为当前线程所存的副本的值,从而避免了线程安全问题。

2023-11-08 17:32:25 95

原创 this.$nextTick的使用

使用elementui+vue实现一个小功能,新增和更新按钮共用一个表单新增的加上参数校验,更新的没有。

2023-10-25 14:53:53 183

原创 微信开发者工具Cannot read property ‘token‘ of null

小程序有一个唯一的appid,需要保证微信小程序开发者工具的appid和后端中的以及小程序的appid一致。使用前端的小程序开发工具,通过前端调用后端接口的时候一直显示非法的code。调用部署好的服务器的时候却没问题,以为是代码版本的问题。小程序开发者工具的appid修改。问题提交给前端,前端测也没问题。

2023-08-11 11:41:47 141 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除