提取城市和url

我们介绍完正则表达式以后,再次进入到我们的爬虫项目。
我们现在是获取了城市列表的网页源码
我们来写一个解析城市列表的函数printCityList

func printCityList(contents []byte) {
    // [^>]*> 这个意思是如果你不是>我就会匹配进来
    // MustCompile里面的内容是从源码获取处理过的
    // <a href="http://www.zhenai.com/zhenghun/baodin"  class="">保定</a> 
    re := regexp.MustCompile(`<a href="(http://www.zhenai.com/zhenghun/[0-9a-z]+)"[^>]*>([^<]+)</a>`)
    matches := re.FindAllSubmatch(contents, -1)
    // FindAllSubmatch 返回的是[][][]byte,所以我们需要循环出来,在取对应的索引
    for _, m := range matches {
        fmt.Printf("City: %s, URL: %s\n", m[2], m[1])
    }
    fmt.Printf("Match found: %d\n", len(matches))
}

好的,现在我们来调用一把这个函数

printCityList(all)  // main函数的最后

这样的话我们就可以拿到城市对应的url与名称了,

citylist.png

ok,走到这里你已经获取了一些重要信息了,万丈高楼平地起,这只是刚刚开始!!!继续往下走吧!!!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,132评论 25 709
  • 大二時,空閒時間多,懵懂瀟灑,也沒什麼壓力。所以可以隨意花一段時間,為一幅小圖買單。 不懂技巧沒關係,不是專業的也...
    南山公子阅读 1,950评论 4 4
  • “好好考虑考虑,做我的门徒生可是有很多好处的!”丹钒死缠烂打的跟在篱亦的后面。 篱亦推脱道:“木之贤者大人,有不少...
    夏沫荒草阅读 1,235评论 0 0
  • 这是个喧嚣的世界, 我从未觉得安静过, 它的繁荣它的昌盛, 带给人们却只是更多的疲惫, 更多的抱怨, 于是我捂住双...
    该着调了阅读 3,315评论 0 0
  • 离上次去青岛已经过去将近九年的时间了,而在那之前我已经心心念念了将近九年。 去往更多的地方看更多的风景成为我的心愿...
    流年芳华阅读 3,273评论 0 4