python3爬虫筛选所需要数据

第一次使用博客园,也是第一篇文章,让我们一起开启学习之旅吧!!

 

昨天在为某授权系统做安全性测试的时候,可以未授权访问系统的用户登陆统计记录。由此想整理出部分用户名,作为暴力破解的用户名,检查是否存在用户弱口令。

由于时间紧,任务重,只是想使用re正则来简单匹配所需数据即可。思路很简单,使用requests库爬下来,然后用re库匹配,但在查看网页源码的过程中,发现所需要的数据与其他数据特征一致,使用re库匹配时,会将符合特征的全部匹配出来,如下图:

python3爬虫筛选所需要数据_第1张图片

此时想过使用BeautifulSoup库或者pyquery库,但最后还是放弃了,一来对这两个库还不是那么熟悉,二来使用这两个库的css筛选器时,由于源码中的数据特征一致,最终得出的代码量或筛选结果与re库差不多,所以最终还是选择re库,由此得出如下代码:

python3爬虫筛选所需要数据_第2张图片

简单解释一下get_username()函数:

re匹配到的虽然是所有符合规则的结果(即图中的username_list),但它返回的是一个list,而这个list中,我需要的数据是从第4个开始(注意:list是从0开始,且requests.get回来的在我所需要数据的前面还有符合规则的,所以从第4个开始),后面依次间隔5个。获得了这个规律,就可以取出所需要的数据。开始想使用for循环的,但长度很难界定

就选择了while True,使用while True的时候,当username_list[a]超出范围时会报错,所以使用try语句,当然方法还有很多,比如使用if语句等,最终获得如下结果:

python3爬虫筛选所需要数据_第3张图片

 

如有更好建议,请在评论区评论或私聊。如有错误,还望斧正!

 

你可能感兴趣的:(python3爬虫筛选所需要数据)