jmeter学习之网页爬虫

学习网站:https://www.cnblogs.com/Zfc-Cjk/p/9937269.html

学习的jmx文件:殆知阁优化.jmx  什么网站,都没听过

遇到问题:乱码问题,解决方法:https://www.cnblogs.com/shishibuwan/p/11307194.html

学习后总结思路:简而言之,对网页提交一个请求,然后把返回的所有值提取出来,利用ForEach控制器去实现遍历;

获取网址,确定网上哪些字段需要抓取;

利用foreach进行循环遍历;

最后输出到本地文件;

1、网页获取

 

 2、XPath Extractor

用xpath从前一个请求中取。这种形式比较适合于返回为xml片段的情况。在需要获得数据的请求上右击添加一个后置处理器-->xPath Extractor。

Xpath一般用于返回xml用得多。

 

 

 Use Tidy:当需要处理的页面是HTML格式时,必须选中该选项,当需要处理的页面是XML或XHTML格式(例如,RSS返回)时,取消选中该选项。

Reference Name:存放提取出的值的参数。

 XPath Query:用于提取值的XPath表达式。

 Default Value:参数的默认值。

匹配数字:0表示取第一个,1表示取第2个,-1表示取全部

 

XPath Extractor与正则表达式使用场景区别:

如果需要提取的文本是页面上某元素的属性值,建议使用XPath Extractor;

而如果需要提取的文本在页面上的位置不固定,或者不是元素的属性,建议使用正则表达式提取器。

3、XPath Extractor基本语法

//*[@class,'A ']/@href 从根目录下定位所有class=A的href

//*[@class,'A ']  从根目录下定位所有class=A标签内的文本

//*[contains(@class,'A ')]  从根目录下@class值中包含A的节点

substring-before(.//*[@class='A']/text(),'0') 返回根目录下[@class='A']/text()中第一个'0'前面的部分,如果不存在'0',则返回空值

substring-after(.//*[@class='A']/text(),'0') 返回根目录下[@class='A']/text()中第一个'0'后面的部分,如果不存在'0',则返回空值

 详细点的请查看:

https://www.blazemeter.com/blog/using-xpath-extractor-jmeter-0/

https://www.blazemeter.com/blog/using-xpath-extractor-jmeter-0/

.//a[@class='linkto']/@href 意思就是通过a>class>href这三层标签进行逐级检索,找到class=linkto标签下的所有href,进行匹配

 

//a[@href]/text()提取的结果

 

 

4、For each 控制器

 

输入前缀是title1, 左下角勾选“Add _ before number”,与输入前缀拼接后为“title1_”。start index for loop为16,end index for loop为17,是“左开右闭”,即(16,17]。ForEach控制器会依次取title1_17,title1_18,并赋值给 financial_type,这里就取title1_17。
如下图从title1_17开始:

 

 5、获取二级标题

 

 

 

 

 

 

 

 

 

 

 

import java.io.File;  
import java.io.FileNotFoundException;  
import java.io.FileWriter;  
import java.io.IOException;  
import java.io.RandomAccessFile;  
  
  
            StringBuffer fileBuf=new StringBuffer();  
            String filePar = "D:\\\目录\\\目录_${title1}\\\2级目录_${title2}";
            File myPath = new File( filePar );  
            if ( !myPath.exists()){
                myPath.mkdirs();  
                System.out.println("创建文件夹路径为:"+ filePar);  
            }  
           
            String filename = "列表_${title2}.txt";
            try {  
                FileWriter fw = new FileWriter(filePar + "\\\" + filename,true);
              
                String originalLine ="${text}";
                System.out.println("*** "+ originalLine);  
                fw.write(originalLine);  
                fw.close();  
            } catch (IOException e) {  
 
                e.printStackTrace();  
            }  

 

转载于:https://www.cnblogs.com/shishibuwan/p/11330301.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课程从基础讲起,全课程以实战为主,每个知识点通过实际案例演练讲解理论+实践结合,更容易理解,适合小白,低门槛,快速上手。 课程同时涵盖web端和移动端app测试,同时还加入了抓包工具的使用; 1) 第一阶段为JMETER 5.4.1 (最新版本)工具使用篇,通过Jmeter 介绍和安装、http 取样器、JDBC 取样器、JMETER 组件详细讲解、配置元件、三种参数化方式教你玩转JMETER 参数化、工作过程中间所需的常用函数、聚合报告、察看结果树、汇总报告等监听器知识,后置处理器、后置处理器之正则表达式提取器提取响应内容实践、读取本地JSON格式文件实例、正则表达式操作符、正则表达式工具之Regextester,系统全面学习正则表达式,突破JMETER 知识难点,响应断言、JMETER分布式、分布式原理、搭建JMETER 分布式、WebService协议接口测试。 每一个知识点采用理论加案例的方式,吃透每一个知识点,为性能测试实践奠定基础。 2) 第二阶段为性能测试实践篇1、通过JMETER 实践爬虫技术,爬取第三方平台全网页地址、批量爬取国外网站壁纸10W+图片并保存到本地;2、详细介绍Fiddler 抓包工具,Fiddler 抓包工具原理、Fiddler 抓取PC 端和移动端包信息、JMETER+Fiddler 结合使用对PC 端项目进行性能测试项目实践,提升PC 端性能测试能力;3、JMETER+Fiddler  结合使用对app 项目进行性能测试项目实践,提升app项目性能测试能力4、性能测试常见的业务指标和技术指标、响应时间、TPS、HPS等知识进行讲解5、通过JMETER 对移动端项目进行性能测试实战; 

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值