zoukankan      html  css  js  c++  java
  • 正则和xpath在网页中匹配字段的效率比较

    1. 测试页面是  https://www.hao123.com/,这个是百度的导航

    2. 为了避免网络请求带来的差异,我们把网页下载下来,命名为html,不粘贴其代码。

    3.测试办法:

      我们在页面中找到   百度新闻 关键字的链接,为了能更好的对比,使程序运行10000次,比较时间差异:

      

      

      1.正则编码及其时间   

    start_time = time.time()
    for i in range(0,10000):
        baidu_news = re.findall('腾讯新闻</a></span><span><a class="sitelink mainlink singglelink" cls="xw,n" alog-custom="ind:xw,sal:0,atd:" href="(.*?)">百度新闻</a>',html)[0]
        print baidu_news
    
    end_time = time.time()
    print "程序运行时间是:",end_time - start_time
    

      运行时间:6.5 秒钟

        

      

        2.xpath 编码及其时间

      

    start_time = time.time()
    selector = etree.HTML(html)
    
    for i in range(0,10000):
        content=selector.xpath('//*[@id="coolsite-top"]/div[4]/span[3]/a/@href')[0]
        print content
    
    end_time = time.time()
    print "程序运行时间是:",end_time - start_time

      运行时间:17.39 秒钟

      

    总结:其中 selector = etree.HTML(html)   将源码转化为能被XPath匹配的格式,这个过程失比较耗时的。

    结论:正则效率优于xpath

    如有异议,请联系作者,谢谢

        

        

      

  • 相关阅读:
    CodeForces 705A(训练水题)
    --hdu 2602 Bone Collector (01背包)
    --Dirring love 音乐(01背包问题)
    简单的网络拓扑
    --hdu 1231 最大连续子序列(动态规划)
    hdu 1003 Max Sum(动态规划)
    hdu 1284 钱币兑换问题(动态规划)
    hdu 1176 免费馅饼(动态规划)
    hdu 2084 数塔(动态规划)
    --hdu 2124 Repair the Wall(贪心)
  • 原文地址:https://www.cnblogs.com/xuchunlin/p/8079171.html
Copyright © 2011-2022 走看看