- 博客(65)
- 收藏
- 关注
原创 爬虫抓取:实现多线程/异步抓取,使用concurrent.futures 和aiohttp 的python自带模块及对应框架
优势在于:使用线程池自动管理线程的生命周期,提供简洁的接口提交任务和获取结果,支持超时和错误处理,代码更加 Pythonic 和易于维护。基于Python的asyncio框架的 HTTP 客户端和服务器异步库,利用 asyncio 的事件循环机制,可以轻松地集成到异步应用中。Python 标准库中的一个模块,用于实现异步编程,它提供了一个高级接口来处理异步执行的可调用对象(如函数)优势在于性能,比传统的基于线程的库(如 requests 和 Flask )更适合高并发的场景。
2025-04-01 14:44:34
381
原创 BS4 案例实战 小案例
Workbook 是 openpyxl 库中的一个类,用于表示一个 Excel 工作簿(Workbook)。它提供了强大的功能,可以让你在 Python 程序中轻松操作 Excel 表格,比如创建新的 Excel 文件、读取现有文件的内容、修改单元格数据、添加公式等。导入 Workbook 类后,你就可以使用它来创建一个新的 Excel 工作簿,或者加载一个已有的 Excel 文件进行操作。它是处理 Excel 文件的常用工具之一,尤其适合处理复杂的 Excel 数据操作。4.解析HTML网页内容。
2025-03-28 10:48:51
146
原创 基于python爬虫:requests+BeautifulSoup+MySQL/MongoDB(或:CSV、JSON等格式的文件)+...
threading、multiprocessing(Python):用于实现多线程爬虫。处理JavaScript渲染的页面(如使用Selenium或Pyppeteer)。CompletableFuture(Java):Java中的异步编程工具。设置User-Agent、Cookies等头信息,模拟浏览器行为。asyncio(Python):用于异步IO操作。使用会话(Session)来保持连接状态。模拟正常用户行为,如随机延迟请求。爬虫技术(基于python介绍)处理CAPTCHA(验证码)。
2025-03-27 10:52:55
378
原创 python库-----Beautiful Soup库(BS4)介绍
Selenium 获取动态渲染的页面后,用 Beautiful Soup 解析复杂结构。Selenium 操作浏览器,Beautiful Soup 解析静态 HTML,分工明确。场景:解析 API 返回的 HTML/XML 格式数据(如 SOAP 接口)。场景:从动态生成的 HTML 中提取数据,用于后续断言或测试逻辑。避免直接用 Selenium 的复杂选择器(如 XPath)。验证 API 返回的 XML 中是否包含特定字段。检查关键信息(如价格、产品描述)是否存在。抓取表格数据验证是否正确。
2025-03-26 14:52:46
309
原创 数据分析中,文件解析库&解析内容样式调整(openpyxl 、tabulate)
5 64.8 江苏省 2020/2/20 23:57 2020/2/20 23:57 64.8。10 69.8 江苏省 2020/2/25 23:57 2020/2/25 23:57 0。11 70.8 江苏省 2020/2/26 23:57 2020/2/26 23:57 0。6 65.8 江苏省 2020/2/21 23:57 2020/2/21 23:57 0。7 66.8 江苏省 2020/2/22 23:57 2020/2/22 23:57 0。
2025-03-25 18:54:55
340
原创 数据清洗级可视化中,Pandas&numyp的主要作用
Pandas的DataFrame是基于NumPy数组构建的,这意味着Pandas在处理表格数据时,底层仍然是使用NumPy数组进行存储和计算。Pandas更侧重于数据分析和处理,提供了丰富的数据操作和分析功能,而NumPy更侧重于数值计算,提供了高效的数组操作功能。例如,可以使用Pandas的dropna()函数删除包含缺失值的行或列,这是数据清洗的重要步骤。Pandas提供了更多的数据可视化功能,而NumPy主要关注数值计算,不直接提供数据可视化功能。专注于数值计算,提供了高效的数组操作功能,
2025-03-10 18:08:30
460
原创 当数据库中主键有重复时,测试用例应该如何设计,是前端设计还是后端设计还是数据库抛出异常
前端可以根据后端返回的错误提示进行相应的处理,例如弹出一个提示框告诉用户操作失败的原因。如果前端需要对主键进行校验,可以在前端进行校验,但是最终的校验还是需要在后端进行,以保证数据的安全性和完整性。后端可以通过捕获数据库操作的异常信息,然后返回给前端一个友好的错误提示,告诉用户操作失败的原因。
2023-11-13 15:43:07
355
原创 雷电模拟器如何实现测试web项目的兼容性,详细操作步骤如何
这些是使用雷电模拟器测试 web 项目兼容性的详细操作步骤。通过模拟不同的设备和浏览器,你可以更全面地了解你的 web 项目在不同环境下的表现,并进行必要的调试和优化。为了测试 web 项目的兼容性,可以使用雷电模拟器来模拟不同的移动设备和浏览器。
2023-09-06 14:26:18
1170
原创 性能测试中未做集群时,在登入中已经保存了登入的session,但可能会出现在不同的服务器上显示登入失败
Session未进行集群共享时,则会出现服务器2,未登录。
2023-08-28 16:41:37
743
原创 2开头的常见错误有哪些,3开头,4开头,5开头呢?
为防止客户端的连续请求,服务器可能会关闭连接。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。Service Unavailable 由于超载或系统维护,服务器暂时的无法处理客户端的请求。226 IM Used:表示服务器满足了对资源的GET请求,并且响应是实例操作应用于当前实例的结果。除了上述常见的状态码外,还有其他2开头的状态码,它们可能更具体地描述了请求的结果。请注意,这里提到的只是一些常见的2开头的HTTP状态码,实际上还有更多的状态码可供使用。
2023-08-23 13:48:40
755
原创 selenium +Jmeter 的性能测试
通过Jmeter快速将已有的Selenium 代码以性能测试的方式组织起来,并使用JMeter 丰富的报表展示测试结果。
2023-08-18 18:02:39
1275
原创 性能测试时,如何分析radis的瓶颈
通常局限点来说,Redis也以消息队列的形式存在,作为内嵌的List存在,,满足实时的高并发需求。而通常在一个电商类型的数据处理过程之中,有关商品,热销,推荐排序的队列,通常存放在Redis之中,期间也包扩Storm对于Redis列表的读取和更新。
2023-06-26 18:25:37
267
原创 App测试中的冷启动、热启动
1.冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动。2.热启动:当启动应用时,后台已有该应用的进程(例:按back键、home键,应用虽然会退出,但是该应用的进程是依然会保留在后台,可进入任务列表查看),所以在已有进程的情况下,这种启动会从已有的进程中来启动应用,这个方式叫热启动。
2023-06-25 18:04:44
2194
原创 1.测试一个RPC服务A,对外提供接口MatchAds(AdTarget Request req),发送请求,返回可展示广告,如何测试这个服务接口的性能
测试一个RPC服务A,对外提供接口MatchAds(AdTarget Request req),发送请求,返回可展示广告,如何测试这个服务接口的性能。3.测试同时发送多个请求接口的反应熟读和返回的数据内容(压力上)1.测试发送请求后是否返回的是可展示的广告内容(功能上)2.测试发送错误请求之后接口返回的数据内容(功能上)
2023-06-25 16:48:09
123
原创 Badboy内置浏览器,提示脚本错误解决方法
Preferences —> Playing —>勾选 JavaScript Error Dialogs。使用Badboy录制脚本的时候,浏览器弹框提示 “!当前页面的脚本发生错误。使用Badboy录制脚本的时候,弹框提示“当前页面的脚本发生错误”Badboy内置浏览器,提示脚本错误解决方法。解决方案1:在弹窗中选中不再弹出此消息。
2023-06-19 16:01:26
877
原创 pycharm打开终端时输入不了,如何解决
打开pycharm—选择文件—找到tool(工具)----找到所在项目下的终端----将shell文件路径修改为IDE的路径或者cmd.exe的路径。:打开pycharm.exe的安装文件位置----点击属性—点击兼容性------勾选中”以兼容属性运行这个程序"(注意:以上两个方法可以都进行采用,记住采用后重启Pycharm)
2023-06-14 16:45:45
9643
1
原创 文件导入、文件解析时的测试用例
文件编码:测试系统是否可以正确地处理不同类型的文件编码(如UTF-8、UTF-16、ISO-8859-1等)。格式正确但数据无效的文件:测试系统是否可以识别格式正确但数据无效的文件,并给出适当的错误消息。文件类型:测试系统是否可以正确地处理不同类型的文件(如文本文件、CSV文件、XML文件等)。格式正确且数据有效的文件:测试系统是否可以正确地读取并解析格式正确且数据有效的文件。格式无效的文件:测试系统是否可以识别格式无效的文件,并给出适当的错误消息。
2023-06-12 12:19:37
1070
原创 jmeter压测数据库
1.查询数据库对应的URL可点击jmeter操作指南书的图表,找到对应的数据库url即可。2.为避免在连接数据库时会报编码/时区上的错误,可以在URL后面添加两个参数。&characterEncoding=UTF-8 //国际编码。&serverTimezone=UTC //防止时区错误。useUnicode =true //反正乱码。Username—用户名 默认root。Password—数据库密码。配置驱动—对应数据库的驱动。
2023-06-07 16:25:47
800
原创 性能测试报告
测试目的:测试系统在高负载下的性能表现,确定系统的瓶颈和可扩展性。测试日期:测试日期和时间。测试环境:测试环境的描述,包括硬件配置、软件版本和网络带宽等。测试用例:测试用例的描述,包括测试场景、测试步骤和预期结果等。**
2023-05-29 15:18:01
473
原创 停用缓存可能会导致前后端都加载缓慢,具体原因有哪些?
因此,在开发过程中,应该充分利用缓存技术,减少不必要的请求和资源加载,同时对前后端代码进行优化,提高响应效率。
2023-05-29 15:05:54
308
原创 selenium从入门到进阶(1)
复制chromedriver.exe文件到chrome的安装目录下(例如:打开chrome安装目录:c:\sunnyli\datapp\chrome\application。2.进入Webdriver官网找到对应的版本号(记住与chrome版本相同,如果没有,找一个前3为一样,最后一位不同的也可以)3.下载win32结尾的那个zip文件,本地解压,可以看到两个文件txt和exe文件。4.将exe文件复制到两个地方(也可以在环境配置中配置,在这只介绍一下方式)安装pycharm(最好专业版)
2023-05-09 17:40:13
89
原创 mysql实战从入门到精通
select q.device_id,question_id,result from question_practice_detail as q ,user_profile as u where u.university =‘浙江大学’ and q.device_id=u.device_id。(age=25, ‘25岁及以上’,
2022-11-18 19:13:59
173
原创 计算机网路基础知识
为了实现TCP网络通信的可靠性,增加校验和、序号标识、滑动窗口、确认应答、拥塞控制等复杂的机制,建立了繁琐的握手过程,增加了TCP对系统资源的消耗;TCP提供可靠交付的服务,传输过程中采用许多方法保证在连接上提供可靠的传输服务,如编号与确认、流量控制、计时器等,确保数据无差错,不丢失,不重复且按序到达;UDP是无连接的,不可靠传输,尽最大努力交付数据,协议简单、资源要求少、传输速度快、实时性高的特点,适用于对传输效率要求高,但准确率要求低的应用场景,比如域名转换(DNS)、远程文件服务器(NFS)等。
2022-09-29 14:47:13
834
原创 接口测试中的登录态
业务分析:ihrm项目的令牌主要是从登录接口中获取,并且登录后的接口需要通过请求头中Authorization属性来设置,设置格式要求是:Bearer空格令牌,示例:Bearer xxxx。在登录后,客户端每次请求都需要把令牌发送给服务器,服务器接收到令牌后,会校验令牌对应的数据信息,从而判断用户是否处于“已登录”的状态。在浏览器中,我们登录后,浏览器会自动把登录状态保存下来,所以不需要我们管理,就能进行登录后的操作。其中,返回的json格式的数据中data的值,就是我们要用来维持登录态的令牌。
2022-09-27 16:12:53
644
1
原创 vscode 执行前需要安装依赖
例如输入npmhelpinstall,系统在默认的浏览器或者默认的编辑器中打开本地nodejs安装包的文件/nodejs/node_modules/npm/html/doc/cli/npm-install.html。name和version一起组成的标识在假设中是唯一的。安装包的信息可保持到项目的package.json文件中,以便后续的其它的项目开发或者他人合作使用,也说package.json在项目中是必不可少的。URL应该是公开的(即便是只读的)能直接被未经过修改的版本控制程序处理的url。...
2022-07-20 18:11:20
5206
原创 VSCode格式化配置
点击设置后,打开如下界面。在下图位置1检索框内输入formatonsave点击回车,待检索结果出现后,在位置2复选框处,点击复选框勾选即可。通常,我们推荐在项目根目录下创建.prettierignore和.prettierrc.js文件,分别放置要忽略格式化的文件和格式化配置。至此,保存文件时,编辑器会根据prettier默认配置自动执行格式化操作。Prettier提供默认配置,全部配置及说明请点击此处查看。文件.prettierignore。文件.prettierrc.js。...
2022-07-20 17:54:47
4528
原创 什么是递归函数
1.递归指一个函数在它的函数体内调用它自身,执行递归函数将反复调用其自身,每调用一次就进入新的一层,递归函数必须有结束条件当函数在一直递推,知道遇到墙厚返回,这个墙就是结束条件所以递归要有两个要素,结束条件和递推关系递归有两个基本要素(1)边界条件:确定递归到何时终止,也称为递归出口(2)递归模式:大问题是如何分解成小问题的,也成为递归体。递归函数也只有具备了这两个要素,才有在有限计算后得出结果在递归函数中,调用函数和被调函数是同一个函数,需要注意的是递归函数的层次,如果把调用函数的主函数称为第
2022-06-27 10:49:13
7583
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人