用 jmeter 实现一个网站文章的爬虫,可以把所有文章分类保存到本地文件中,并以文章标题命名。
它原理就是对网页提交一个请求,然后把返回的所有值提取出来,利用 ForEach 控制器去实现遍历。下面来介绍一下如何操作。
首先我们需要对网页提交一个请求。我们对一个站点发起一个请求,观察一下返回值可以发现中间有很多中文 title,这些 title 都是 href 标签,他们作为超链接可以跳转到正文
我们用 xpath 提取器获取这些 href 的 title,并且用-1 提取全部
用 foreach 控制器遍历提取的 title,并传参
通过 beanshell 脚本将遍历提取的 title 保存到本地文件,文件保存为 title.csv
用 matchNr 函数获取返回的 title 总数,作为后续 csv 提取器的循环次数
在循环控制器下,用 csv 提取器从之前保存到本地的 title.csv 中循环读取 title,并作为参数传递到后续接口的 url 中
循环控制器下,通过 csv 传参,循环触发 url
循环触发 url 之后,用 xpath 表达式从 url 中提取出文本,传递变量为 text
循环控制器下,通过 foreach 控制器遍历之前的提取的 text,保存到本地文件。文件名用遍历获取的 title 依次命名创建
注:难点在于,需要按照超链接的标题创建本地文件,并把超链接之后的文本正确保存到文件之中