- 博客(45)
- 收藏
- 关注
原创 网络爬虫学习:借助DeepSeek完善爬虫软件,实现模拟鼠标右键点击,将链接另存为本地文件
最近几个月里,我一直在学习网络爬虫方面的知识,每有收获都会将所得整理成文发布,不知不觉已经发了7篇日志了:这两天,我又解决了模拟鼠标右键点击的问题,特记录以备忘。
2025-02-20 00:07:43
4458
9
原创 网络爬虫学习:借助DeepSeek完善爬虫软件,增加停止任务功能
用户之前已经得到了如何在GUI中通过停止按钮终止多线程爬虫的解决方案,但现在他指出了代码中的一个不足:CrawlerTask中的模拟爬取操作过于简单,且使用了无限循环,而实际爬虫任务应该是有限次数的,完成后自动停止。我在pycharm上尝试运行了这两个方法中的代码,发现都需要通过按下Ctrl+F2来停止爬虫任务,而我是希望在GUI上添加一个停止按钮,点击按钮后,停止爬虫任务,显然DeepSeek提供的答案并没有达到我的目的。第1问的答案不符合我的需求,应该是我的问题描述还不够详细,我继续提问。
2025-02-04 01:43:50
2656
原创 网络爬虫学习:应用selenium获取Edge浏览器版本号,自动下载对应版本msedgedriver,确保Edge浏览器顺利打开。
我从24年11月份开始学习网络爬虫应用开发,经过2个来月的努力,于1月下旬完成了开发一款网络爬虫软件的学习目标。这里对本次学习及应用开发进行一下回顾总结。前几天我已经发了一篇日志(网络爬虫学习:应用selenium从搜*狐搜索爬取新闻结果的数据)记录了应用中使用的爬虫技术。这篇日志记录另外一个问题的解决。
2025-01-30 00:07:27
3861
2
原创 网络爬虫学习:应用selenium从搜*狐搜索爬取新闻结果的数据
搜*狐*搜索是动态网页,输入关键字点搜索后,会显示10条结果,将浏览器右侧的滑动条往下拖,滑动到页面底部,会刷出新的搜索结果,每拖一次增加10条结果。通过网页浏览器的开发人员工具对页面数据进行分析,页面中的搜索结果的所在的DIV元素都有‘data-index'和'data-spm-data’,因此通过find_elements方法抓取包含着两个特征的DIV原始就可以获得所有的搜索结果。这就需要对上面操作得到的result_blocks做进一步处理,这里不细说了,可见后面的代码展示。用于获取日期和时间。
2025-01-25 22:50:08
1395
原创 网络爬虫学习:多线程爬取,并将结果更新到主线程UI上
但接下了我又遇到了难题,那就是在子线程中执行爬虫任务获取到数据后,如何将数据显示在UI中呢。为了模拟多线程爬虫任务的执行,这个类的传参tasks是一个列表,列表中保存了几个字符串(可以替换成url),列表中有多少个元素,就可以生成多少个子线程。我将这些资料整合在一起就有了一个完整了示例,能够模拟将爬虫任务获取到的数据更新到主线程UI中,且不影响主线程的操作,这为后面的软件开发打下了基础。使用了定时器后,再进行测试,UI不会被冻结,点击界面中的其它按钮,能够正常响应,且爬取的结果也能够顺利的更新到UI中。
2024-12-18 23:31:36
680
原创 网络爬虫学习:POST方式从腾*新闻搜索结果获取标题、链接、内容、来源、时间
通过上面的代码我们就可以从腾*网站获取到指定关键字的搜索结果了,获取到的结果是json格式的,其数据主要是字典和列表,使用python的基本语法就可以提取数据,无需使用第三方的库。中保存的请求头信息,如果不添加这个参数,容易被网站的反爬中机制给限制,我在测试的过程中,一开始没添加请求头信息参数,结果爬取几次后就被网站给限制了,导致无法正常请求到数据。有了这些基础代码,后续的爬取代码就可以基于此开发了,我最终的代码做成了,可指定关键字,要爬取的页数,每页的结果数量。根据输入的参数,进行循环爬取。
2024-11-27 22:41:58
1247
1
原创 网络爬虫学习:从新浪新闻搜索抓取所有新闻结果的标题、链接、内容、来源、时间
新浪新闻搜索的实现技术与百度又有些不同,刚开始我还只能抓取第一页的内容,不过有了之前的知识积累,再加上不断的从网上搜索相关的资料,总算解决了问题,实现了将新浪新闻搜索到的所有新闻的标题、链接、内容、来源、时间都抓取下来的目标。接着我又对页面下方的其它页的跳转按钮进行了分析,一看是有规律的,但我尝试了将其中的几个参数添加到浏览器的网址栏中点更新,没有获得期待的效果。我在网上搜索了一通,虽然找到了一些资料,但要么不能解决我遇到的问题,要么就是几年前的资料,看了一两遍,一时没看懂。
2024-11-24 19:49:50
2577
2
原创 网络爬虫学习:从百度搜索结果抓取标题、链接、内容,并保存到xlsx文件中
但在代码测试时经常会出现报错。另外一个不足就是,上面两个参考资料中的代码只能抓取一个页面的结果,而不是所有的搜索结果,而我希望一次抓取到更多的结果。我的同事因工作需要,不时要从网上搜索一些信息,他一般是登录百度、腾讯、搜狐等网站,输入关键字,得到搜索结果,然后从结果中一个个点开链接,查看相关的网页中有没有自己需要的内容。第一个参考资料中有现成的代码,可以将抓取到的数据保存到csv文件中,但在测试中,我发现,如果标题或摘要中有逗号,就会将字符串分割成多段,保存到多个列中,使得数据不能正常对齐(如下图)。
2024-11-20 00:03:05
1528
原创 安卓应用开发学习:手机摇一摇功能应用尝试--摇骰子和摇红包
游戏过程中游戏模式可随时切换,不会终止游戏。》记录了如何查看手机传感器的信息,通过上述的方法,可以看到我的OPPO手机支持19种传感器。本次通过学习相关资料,在我的手机上实现了摇骰子和摇红包两个小应用,并且在摇动手机的过程中手机还会振动。如果是摇红包模式,则产生一个1-10的随机数,将该随机数与数组welfareArr中的元素进行对比,如果该随机数在数组中,则在页面中显示中奖信息。2.2重写活动页面的onResume方法,在该方法中注册传感器监听事件,并指定待监听的传感器类型为加速度传感器。
2024-08-15 15:08:42
1011
原创 安卓应用开发学习:查看手机传感器信息
遍历Sensor列表中的每个元素得到感应器对象Sensor,再调用Sensor对象的getType方法可获取该传感器的类型,调用Sensor对象的getName方法可获得该传感器的名称。在手机app的开发中经常会用到手机的传感器,在《Android App 开发进阶与项目实战》一书的第10章就介绍了传感器的一些功能和用法。书中有传感器类型取值的说明,并提供了一个查看手机传感器的的示例代码,这次我就直接拿来用了。我照着书中的示例代码做了个应用,在自己的手机上运行,得到了以下的结果。
2024-08-13 17:02:52
901
1
原创 安卓应用开发学习:聚合数据API汇率换算
而聚合数据的“汇率”API正好提供了货币列表的查询接口,这样,就可以在每次打开我的汇率换算应用时,通过“汇率”API获取到所有的货币列表,然后再更新到应用的两个下列选择框中,而不用将这两个下列选框的选项写死。通过聚合数据官网的接口测试页面,我们可以进行相关的查询测试,其中货币列表查询,可以返回125种货币。本应用的UI设计是参考的常见的网页版汇率换算应用,这些网页端的应用都提供了原始货币和目标货币两个选择框供用户选择,这两个下列选框中提供的货币选项也非常多,方便用户在任意两种货币之间进行计算。
2024-08-07 14:47:28
1017
2
原创 安卓应用开发学习:聚合数据API获取天气预报
最近在看软件书籍时,又看到了聚合数据API方面的内容。书上介绍了聚合数据天气预报API的应用,不过书上的代码看得有些难受,我到聚合数据官网,对天气预报API的接口文档进行了研究,感觉比书上的要简单。于是,我参照官网的接口文档设计查询部分的代码,UI等设计则借鉴了书上的内容,完成了这个应用的开发。完成申请后就可以在“个人中心 - 数据中心 - 我的API”中看到申请到的API了。聚合数据平台提供了很多的API,其中免费的API也不少。完成了API的申请,就可以着手进行软件的设计开发了。
2024-08-07 11:50:22
1253
2
原创 安卓应用开发学习:对网址二维码的识别
前面的第一个测试手机调用的优快云的手机端APP,第二个测试手机调用的浏览器APP,第四个测试出错,说明手机应用不能自动对不完整的网址进行补全。这次输入的网址不含http前缀,在浏览器中这么输入是能够被识别,并能够补全网址,正常访问的。对此问题,我对代码进行了修改,在判断出二维码的内容是网址后,对扫码结果是不是以“http”开头进行了判断,如果不是,则进行补全。点击这个链接,我的手机自动打开了优快云的手机端APP,并显示出这个链接的网页内容。),这次的识别网址二维码就在这个功能模块的基础上进行改进。
2024-07-25 15:54:37
966
原创 安卓应用开发学习:生成带Logo的二维码(使用华为统一扫描服务 Scan Kit)
去年,我开发一个安卓应用,需要实现生成二维码功能,当时通过学习,使用华为统一扫码服务Scan Kit实现了生产二维码功能,相关内容见我的博文《Android 应用开发学习-生成二维码(使用华为统一扫描服务 Scan Kit)最近想实现生成带Logo的二维码,就再对 华为统一扫描服务 Scan Kit进行了学习,并在自己的应用中予以实现。
2024-07-20 22:19:14
552
原创 安卓应用开发学习:腾讯地图SDK应用改进,实现定位、搜索、路线规划功能集成
我的上一篇学习日志《安卓应用开发学习:通过腾讯地图SDK实现定位功能》记录了利用腾讯地图SDK实现手机定位功能,并能获取地图中心点的经纬度信息。这之后的几天里,我对《AndroidApp 开发进阶与项目实战》一书第九章的内容深入解读,看明白了其中关于地点搜索和路线规划功能。原书中的这些功能都是分别做成不同的Activity,我则通过自己的努力尝试,将这些功能都集成到一个Activity中。
2024-07-08 23:24:49
1226
原创 安卓应用开发学习:通过腾讯地图SDK实现定位功能
我是参照《 Android App 开发进阶与项目实战》书中9.3.2 显示地图面板 的内容,创建的Activity可以在腾讯地图上显示手机所在的位置,并能在普通地图和卫星地图之间切换,还可以显示交通情况。我添加的权限是参考了 《 Android App 开发进阶与项目实战》中的内容,官网给的添加权限(见下方)和我添加的有些不同,但我这边能正常定位,说明有些权限应该是可由可无的。”功能后,这两天,我又参照这书中的内容,实现了通过腾讯地图的Android定位SDK实现定位的功能,并有所扩展。
2024-07-01 17:29:06
2180
2
原创 安卓应用开发学习:获取导航卫星信息
我昨天写了《安卓应用开发学习:获取经纬度及地理位置描述信息》日志,今天再接再厉,记录一下跟着《Android App 开发进阶与项目实战》一书,实现获取导航卫星信息,并在手机上显示的功能的情况。
2024-06-25 17:21:42
1420
原创 安卓应用开发学习:获取经纬度及地理位置描述信息
前段时间,我在学习鸿蒙应用开发的过程中,在鸿蒙系统的手机上实现了获取经纬度及地理位置描述信息(鸿蒙应用开发学习:手机位置信息进阶,从经纬度数据获取地理位置描述信息)。反而学习时间更长的安卓应用开发还未实现获取经纬度及地理位置描述。这几天,我正在看《Android App 开发进阶与项目实战》一书,正好看到了第9章是讲定位导航的。这一章里正好有获取经纬度和详细地址的内容,随书还附带有源码。我照着做,很轻松的实现了用安卓手机获取经纬度和详细地址的功能。特此记录以备忘。
2024-06-25 00:26:14
1014
原创 Python界面编辑器Tkinter布局助手 使用体验
我检查了软件发现绑定事件是放在Win类中的,响应事件对应的函数是放在Controller类中的,而软件直接调用的WinGUI类,而WinGUI类并没有调用前面两个类,导致了点按钮无响应,我只好对源码进行修改来实现按钮的响应。由于还只用了一次,只是简单的尝试了一下,我所说的不一定都是正确的,后面我还会再多尝试一下,希望这个软件能够带给我不一样的感受。这个编辑器是个开源的项目,个人用户可以免费使用,我感觉挺好的,就尝试这用了一下。我把生成的py文件用pycharm打开,添加相关的逻辑代码,实现我需要的功能。
2024-06-13 17:19:59
2499
1
原创 wxPython应用开发-后台线程更新大量数据到wxGrid避免ui无响应
在python应用开发中,我基本用wxFormBuilder进行软件界面的设计,因此用到wxPython的时候很多。wxPython中的表格类是wx.grid。这次开发过程中遇到了问题是,通过pandas将几万行数据从xls文件中读取到dataframe中后,再更新到软件主界面中的wxGrid中时,由于数据很大,导致软件ui在很长一段时间内无响应。本文记录了解决这一问题的过程和方法。
2024-05-29 14:05:30
1454
原创 Android 应用开发-实现将公共存储空间内的文件复制到应用的私用存储空间中
几个月前,我给公司同事开发了一款手机扫码盘点app,帮他们提高了工作效率,反映还不错。前几天,同事找我,说公司新增了一些商品,用我的软件无法正常扫码这些新商品,希望我能解决问题。这个问题的产生原因是,因为我的能力有限,资源有限,开发的这款手机app只是一个单机版的辅助工具,内部数据库的更新需要手工操作。本日志记录了实现读取公共存储空间内的文件,并写入手机内嵌数据库中的功能模块的开发经历及期间遇到的问题。
2024-05-15 21:56:18
703
原创 鸿蒙应用开发学习:用Marquee组件做个跑马灯
鸿蒙应用的学习持续进行中,这两天阅读官方的API参考文档,发现一个有趣的组件——Marquee,用它做了个跑马灯,做个学习记录。
2024-03-27 22:59:26
1397
原创 鸿蒙应用开发学习:使用视频播放(Video)组件播放视频和音频文件
播放音视频是手机的重要功能之一,近期我学习了在鸿蒙系统应用开发中实现音视频的播放功能,应用中使用到了视频播放(Video)组件,@ohos.file.picker(选择器)。特撰此文分享一下我的学习经历。
2024-03-09 21:43:59
4641
原创 鸿蒙应用开发学习:手机位置信息进阶,从经纬度数据获取地理位置描述信息
前几天,我通过学习华为官网的位置服务开发指南,实现了获取手机位置信息的功能,但当时的代码存在两个不足,一是我按照官网的指南使用的是getLastLocation()方法,得到的是最近一次的位置,第一次执行该应用获取到位置信息后,之后再次执行,获取的还是之前的位置信息,与实际位置不符;第二是获取到的位置信息是经度、纬度和海拔等数字信息,不能直管的显示做在的地理位置。
2024-01-26 14:43:34
3564
8
原创 鸿蒙应用开发学习:获取手机位置信息
移动应用中经常需要获取设备的位置信息,因此在鸿蒙应用开发学习中,如何获取手机的位置信息是必修课。之前我想偷懒从别人那里复制黏贴代码,于是在百度上搜了一下,可能是我输入的关键字不对,结果没有找到想要的资料。于是我只能到官网上学习相关的开发文档(位置服务开发指南),自己摸索着做了,经过一番的学习,并在真机上测试,实现了获取手机位置信息的功能。特记之,已备忘。
2024-01-23 17:29:51
1610
6
原创 鸿蒙应用开发学习:改进小鱼动画实现按键一直按下时控制小鱼移动和限制小鱼移出屏幕
近期我在学习鸿蒙应用开发,跟着B站UP主黑马程序员的视频教程做了一个小鱼动画应用,UP主提供的小鱼动画源代码仅仅实现了移动组件的功能,还存在一些问题,如默认进入页面是竖屏而页面适合横屏显示;真机测试发现手机的状态栏影响到了返回键对按键事件的响应;方向键不能响应一直按着的操作;还有小鱼会移出屏幕范围。之前已经解决了强制横屏和隐藏手机状态栏,这次则是通过一番研究,实现了按键一直按下时控制小鱼移动和限制小鱼移出屏幕这两个功能。。
2024-01-14 21:58:25
1530
原创 鸿蒙应用开发学习:ArkTs将应用设置为全屏显示并隐藏状态栏
近期学习鸿蒙应用开发,跟着教程做了一个小鱼动画应用,之前解决了应用默认是竖屏,而这个小鱼动画应用是横屏的问题。这次通过实现应用全屏显示并隐藏手机状态栏,来解决页面返回中的按钮与状态栏重叠而导致按钮不能正常响应点击事件的问题。
2024-01-13 09:00:00
3286
原创 鸿蒙应用开发学习:让page页面强制横屏
照着教学视频做了个小鱼动画页面有个缺陷,就是进入这个页面后默认是竖屏显示的,要想切换横屏,需要将手机的自动旋转功能打开,手工旋转手机让页面变成横屏的,感觉不方便,本文记录了如何实现强制横屏的方法。
2024-01-12 15:02:49
2117
3
原创 鸿运应用开发学习-发现了一个TextInput组件中使用正则表达式后出现的BUG
在开发鸿蒙应用过程中,需要对TextInput控件的输入做限制,要求只能输入数字,可以为负数,可以有小数。但nputType.Number模式只支持输入0-9的数字,不支持输入负号和小数点。向华为提交问题后,华为工程师反馈使用正则表达式,我按学习到的知识,在inputFilter中设置好正则表达式后,却发现可以输入0-9的数字,但仍不能输入负号和小数点。再次向华为反馈,这次工程师没有解决,将问题上升至相关部门问题,正在解决中。
2024-01-11 17:40:51
2157
4
原创 鸿蒙应用开发学习一个星期的成果
今年元旦开始学习鸿蒙应用的开发,跟着B站 黑马程序员的HarmonyOS4.0开发应用教学视频学习了一周,记录一下学习成果。
2024-01-08 00:27:39
687
原创 学习鸿蒙应用开发:DevEco Studio 3.1.1 安装-设置-创建项目-汉化-真机调试过程详细记录
随着华为Mate 60 的发布,鸿蒙系统火了起来,近段时间不少大厂宣布开发原生鸿蒙应用,预示着鸿蒙系统的良好前景。我开发的安卓应用,在同事的鸿蒙系统手机上出现了一些问题。最近又听说,以后的鸿蒙系统将不再兼容安卓了。鉴于以上情况,我就想着自学鸿蒙应用的开发,尝试开发原生鸿蒙应用,已解决我自己开发的应用不能再鸿蒙系统上正常使用的问题。
2024-01-04 17:10:10
6514
3
原创 java Long.parseLong方法转换带小数点的字符串时报错问题的解决
方法不支持带小数点的数值字符串。但我开发的应用,有时是需要输入带小数点的数值的。这样的错误不解决,会导致软件不能正常使用的。这个300.5是我输入的字符串,之前我做了几次测试都是输入的整数,是没有出现错误的。再次运行软件,输入300.5,软件正常,没有出现错误提示了。今天我在做软件测试的时候,出现了如下图的错误提示。用以下语句替代出错的语句即可。我在网上搜索了一阵,在一篇“”博文里找到了解决思路。
2023-12-08 14:27:56
889
原创 Android 应用开发-保存图片到手机公共存储空间的同时通知相册更新
本文记录了本人在开发安卓应用过程中遇到的,我的应用生成的图片无法在手机相册中查看的问题的解决过程。
2023-12-03 20:57:17
302
原创 Android 应用开发-解决RecyclerView循环视图不能正确更新的问题
在安卓应用开发中使用到了RecyclerView循环视图来动态显示数据,结果遇到了数据更新后,RecyclerView循环视图没有按预期更新的情况,在网上搜索了一圈,找到了节解决办法,特此记录。
2023-12-03 16:11:15
493
原创 Android 应用开发-解决使用华为统一扫描服务的app在鸿蒙系统的手机上不能扫码的问题
近段时间,我正在用Android Studio开发一款扫描盘点商品的手机app,扫码功能使用到了华为统一扫码服务,相关内容见我之前的日志《使用华为统一扫码服务实现扫码功能》,这两天终于完成了软件的开发,我将软件交给同事进行测试,而问题正是在同事进行测试的过程中出现的。
2023-11-10 22:27:35
1037
1
原创 Android 应用开发学习-将自定义月份选择器改造成弹窗式
我有会同把原文看了一遍,发现了一处不同,原文中的第二步创建的类时继承的Activity类,而我的MonthPickerActivity.java默认继承的AppCpmpatActivity类。App开发入门与项目实战》一书的第10章 “自定义控件”的内容做了一个自定义月度选择器,不过书中的源码是用的Activity,使得每次调用这个选择器都是全屏显示,而我希望是弹窗式的,网上搜索了一下,发现Activity是可以改成弹窗式的,这样就不用再写个Dialog或者PopupWindow了。
2023-11-07 00:18:22
439
原创 Android Studio 解决安装SimpleSqliteBrowser插件导致的问题
前几天看到过一篇在App Inspection中实时查看SQLite数据库的文章(链接忘记了),昨天我正好在写操作数据库的代码,在测试的时候需要了解数据库的情况,就尝试着在App Inspection中操作了一番,记得当时Android Studio是下载了一些东西的,具体是怎么我也没太在意,总之一番操作后,可以在App Inspection中查看手机里的数据库文件了,执行代码对数据库进行插入或删除后,立即可以在App Inspection中查看到结果,以便确认刚才的操作是否有效,非常的方便。
2023-11-05 00:36:17
1574
4
原创 Android 应用开发学习-自定义月份选择器
在真机上测试代码的时候,我发现一个小问题,那就是,每次调用MonthPickerActivity时,月份选择器上都是显示的当前月份,而我希望是显示之前已经选择的月份。比如用户之前选择的是“2023-01”,再次调用月份选择器时,选择器上显示的月份仍是当前的“2023-11”。而用户一般的操作习惯大概率是要查看“2023-01”前后月份的数据,那么月份选择器最好是显示之前选择的“2023-01”才更方便用户的后续操作。该java文件对选择器中多余的日期控件进行隐藏,来达到只显示年和月选择控件的目的。
2023-11-04 00:04:26
1093
原创 Android 应用开发学习-将ImageView中的图像保存到手机公共储存空间
之前,我尝试了用华为统一扫码服务生成二维码,照着官网上的资料很顺利就完成了,接着就是要实现将ImageView中的二维码保存为图像文件,存放在手机的公共存储空间内,以便发送给他人。
2023-10-29 22:58:43
745
原创 Android 应用开发学习-生成二维码(使用华为统一扫描服务 Scan Kit)
前几天我通过学习和实践,使用华为统一扫描服务实现了用安卓手机扫条形码和二维码的功能,相关内容见我的日志《Android应用开发学习-使用华为统一扫码服务实现扫码功能当前我正以此为基础给销售部门的同事开发一款扫描盘点的小软件,帮助同事提高工作效率,现在软件已经能够实现一部分的功能了。今天向我向另外一个部门的同事展示扫描功能的时候,那位同事提出了希望为他制作一款能生成二维码的app用于特殊物品管理工作中。
2023-10-28 21:33:04
546
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人