Ai
1 Star 1 Fork 0

灵狐/go-web-crawler

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
FindMobile.go 1.08 KB
一键复制 编辑 原始数据 按行查看 历史
灵狐 提交于 2025-05-10 20:35 +08:00 . 更新
package WebFinder
import (
"gitee.com/fierce_wolf/go-web-crawler/WebCrawler"
"regexp"
)
type Mobile struct {
List []*WebCrawler.WebElement // 手机号码的相关元素,其中text字段被识别为手机号码
}
func (e *Mobile) GetList() []*WebCrawler.WebElement {
return e.List
}
func (e *Mobile) Find(els []*WebCrawler.WebElement) []*WebCrawler.WebElement {
e.List = make([]*WebCrawler.WebElement, 0)
// 参数的准备:正则表达式
regexp, _ := regexp.Compile(`1[3-9]\d{9}`)
els = WebCrawler.Site.FindElements(els, WebCrawler.Filter{
Mode: WebCrawler.ModeRegexp,
Param: regexp,
})
originals := make([]*WebCrawler.WebElement, 0)
for _, el := range els {
matches := regexp.FindAllString(el.Text, -1) // -1表示返回所有匹配项
if len(matches) == 1 {
// 原本
originals = append(originals, el)
// 副本
clone := el.Clone()
clone.Text = matches[0]
e.List = append(e.List, clone)
}
}
return originals
}
func (e *Mobile) FindTexts(text string) []string {
regexp, _ := regexp.Compile(`1[3-9]\d{9}`)
return regexp.FindAllString(text, -1)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/fierce_wolf/go-web-crawler.git
git@gitee.com:fierce_wolf/go-web-crawler.git
fierce_wolf
go-web-crawler
go-web-crawler
v1.0.1

搜索帮助