如何提取金币榜的所有用户(正则邪修的用法)

4 条回复
35 次浏览

接上文: https://2libra.com/post/frontend/gJU4H3E

这次更简单,只需要 notepad++就可以了,代码都不用写。
image
首先打开金币排行榜页面,Ctrl+A 全选
image
粘贴到 notepad++里面

首先找特征,用户名以什么开头,什么结尾?
可以看到用户名是重复两次的,前一行是序号,下一行是多少号,那么我们来提取
伪代码:提取以数字开头+换行符+任意字符到换行符结束
正则表达式:\d+\r\n.+\r\n
image
选择正则表达式,点计数可以看到匹配了多少个,点下一个可以看看匹配的对不对。

这个表达式很简单吧,数字开头+换行+任意字符+换行

那么如何提纯呢?
image
点击标记,全部标记,复制(这里有个新问题,用户的名字有数字会导致匹配到无关数据)
那么如何优化呢?
增加开头特征:换行+数字+换行+任意+换行
\r\n+\d+\r\n.+\r\n
image
是不是没问题了
全部标记,复制,粘贴到新的文件
image
我不知道为什么出现其他字符,但是现在再处理是不是简单了。
删除所有有-的行和纯数字的。
image
\r\n\d+\r\n
匹配到两百个,说明正确,全部替换为空
image
剩下就是处理-和空行了
image
\r\n----\r\n
全部替换为空
image
200 个用户,不用一行代码,只需要一个支持正则表达式的文本编辑器,有写代码分析结构改 bug 的时间已经处理完了,这几个表达式一点都不难,用多了一下就能写出来。

种子用户
OP

没有用代码实现自动爬,只是手动打开网页然后复制一下,算不上爬虫。

种子用户
OP

请看上一篇帖子,这是讲述简单正则的快速使用方法,这是举例。

发表一个评论

R保持