当前位置: 首页 > wzjs >正文

那个网站做排列五头比较准天津做网站外包公司

那个网站做排列五头比较准,天津做网站外包公司,网络推广专员职责,商场网站开发今天闲着没事,突发异想,相对比不同解析库的解析速度,本文中对比五种解析库 一.概述 1.scrapy自带Css选择 2.scrapy自带xpath 3.lxml自带xpath from lxml import etree 4.bs4自带美味的汤 from bs4 import BeautifulSoup 5.re 正则表…

今天闲着没事,突发异想,相对比不同解析库的解析速度,本文中对比五种解析库

一.概述

1.scrapy自带Css选择

2.scrapy自带xpath

3.lxml自带xpath     from lxml import etree

4.bs4自带美味的汤 from bs4 import BeautifulSoup

5.re 正则表达式

以这个文本为例,在循环解析链接标题时间情况,再循环499次并打印输出,约循环7500次,为了避免误差,考虑到CPU资源波动,那么Python程序能够得到的CPU时间就会或多或少,从而导致运行时间变长或变短,所以每种方式运行三次。

当CPU爆满时

 运行时间非常慢

当CPU充足时,同样是程序就会非常快

本程序都在CPU充足情况下运行

text ='''<div class="news_list zy_listbox"><!-- 展示15条数据后出现分页 --><ul><li><b>·</b><a href="/index/Article/detail.html?id=2565">青海省生态环境监测中心自行采购2024-010号</a><span>2024-07-18</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2564">单一来源采购公示</a><span>2024-07-15</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2563">青海省生态环境监测中心自行采购2024-009号(第二次)</a><span>2024-07-10</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2562">青海省生态环境监测中心自行采购2024-009号</a><span>2024-07-05</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2561">等保测评询价函</a><span>2024-05-28</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2560">单一来源采购公示</a><span>2024-05-24</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2559">青海省生态环境监测中心自行采购2024-007号(第二次)</a><span>2024-05-20</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2558">单一来源采购公示</a><span>2024-05-16</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2557">青海省生态环境监测中心自行采购2024-008号</a><span>2024-05-06</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2556">询价函</a><span>2024-04-30</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2555">青海省生态环境监测中心自行采购2024-007号</a><span>2024-04-22</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2554">青海省生态环境监测中心自行采购2023-004号(第二次)</a><span>2024-04-12</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2553">青海省生态环境监测中心自行采购2024-006号</a><span>2024-03-29</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2552">青海省生态环境监测中心自行采购2024-005号</a><span>2024-03-20</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2551">青海省生态环境监测中心自行采购2024-004号</a><span>2024-03-16</span></li></ul></div>'''

二.探讨CSS选择器解析速度

t= time.time()
selector = Selector(text=text)
for i in range(1,500):for l in selector.css('div.news_list>ul>li'):print(l.css('a::text').get())print(l.css('span::text').get())print(l.css('a::attr(href)').get())
css_parse = time.time()-t
print('css_parse用时:',css_parse)

第一次

第二次

第三次

三.探讨scrapy里的xpath解析速度

t= time.time()
selector = Selector(text=text)
for i in range(1,500):for l in selector.xpath('//div[@class = "news_list zy_listbox"]/ul/li'):print(l.xpath('.//a/text()').get())print(l.xpath('.//span/text()').get())print(l.xpath('.//a/@href').get())
scrapy_xpath_parse = time.time()-t
print('scrapy_xpath_parse用时:',scrapy_xpath_parse)

第一次

第二次

第三次

四.探讨lxml里的xpath解析速度

t= time.time()
selector = etree.HTML(text)
for i in range(1,500):for l in selector.xpath('//div[@class = "news_list zy_listbox"]/ul/li'):print(l.xpath('.//a/text()')[0])print(l.xpath('.//span/text()')[0])print(l.xpath('.//a/@href')[0])
xpath_parse = time.time()-t
print('xpath_parse用时:',xpath_parse)

第一次

第二次

第三次

 

五.探讨bs4自带BeautifulSoup解析速度

t = time.time()
soup = BeautifulSoup(text, 'html.parser')
news_list = soup.select('div.news_list.zy_listbox ul li')
for i in range(1,500):for l in news_list:print( l.select_one('a').get_text(strip=True))print(l.select_one('span').get_text(strip=True))print(l.select_one('a')['href'])
bs_parse = time.time() - t
print('bs_parse用时:',bs_parse )

第一次

第二次

第三次

.探讨re正则解析速度

t = time.time()
li = re.findall(' <li><b>·</b>.*?</li>',text)
for l in range(1,500):for i in li:print(re.search('>(.*?)</a>',i).group(1))print(re.search('<span>(.*?)</span>',i).group(1))print(re.search('<a href="(.*?)">',i).group(1))
re_time = time.time()-t
print('re:',re_time )

第一次

第二次

第三次

七.总结 

经上述程序实验证明,速度排序:

re正则  > lxml  xpath  >  bs4   BeautifulSoup  >   Scrapy  css   ≈    Scrapy  xpath

在本实验中,并不严谨,除CPU波动外,只选取了一种特定的HTML网页进行速度对比,没有考虑到不同类型和结构的网页对解析速度的影响。例如,网页中若包含大量嵌套的表单、复杂的JavaScript生成的动态内容等,甚至有个html藏在动态接口的json里面,不同解析工具的表现可能会大不相同,这使得实验结果存在一定的局限性。实际应用中还需要根据具体的HTML网页结构、解析需求以及性能指标等多方面因素综合考量,选择最合适的解析工具。

总程序

from lxml import etree
from scrapy import Selector
from bs4 import BeautifulSoup
import re
import requests
import time
text ='''<div class="news_list zy_listbox"><!-- 展示15条数据后出现分页 --><ul><li><b>·</b><a href="/index/Article/detail.html?id=2565">青海省生态环境监测中心自行采购2024-010号</a><span>2024-07-18</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2564">单一来源采购公示</a><span>2024-07-15</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2563">青海省生态环境监测中心自行采购2024-009号(第二次)</a><span>2024-07-10</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2562">青海省生态环境监测中心自行采购2024-009号</a><span>2024-07-05</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2561">等保测评询价函</a><span>2024-05-28</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2560">单一来源采购公示</a><span>2024-05-24</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2559">青海省生态环境监测中心自行采购2024-007号(第二次)</a><span>2024-05-20</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2558">单一来源采购公示</a><span>2024-05-16</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2557">青海省生态环境监测中心自行采购2024-008号</a><span>2024-05-06</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2556">询价函</a><span>2024-04-30</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2555">青海省生态环境监测中心自行采购2024-007号</a><span>2024-04-22</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2554">青海省生态环境监测中心自行采购2023-004号(第二次)</a><span>2024-04-12</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2553">青海省生态环境监测中心自行采购2024-006号</a><span>2024-03-29</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2552">青海省生态环境监测中心自行采购2024-005号</a><span>2024-03-20</span></li><li><b>·</b><a href="/index/Article/detail.html?id=2551">青海省生态环境监测中心自行采购2024-004号</a><span>2024-03-16</span></li></ul></div>'''
t= time.time()
selector = Selector(text=text)
for i in range(1,500):for l in selector.css('div.news_list>ul>li'):print(l.css('a::text').get())print(l.css('span::text').get())print(l.css('a::attr(href)').get())
css_parse = time.time()-t
t= time.time()
selector = Selector(text=text)
for i in range(1,500):for l in selector.xpath('//div[@class = "news_list zy_listbox"]/ul/li'):print(l.xpath('.//a/text()').get())print(l.xpath('.//span/text()').get())print(l.xpath('.//a/@href').get())
scrapy_xpath_parse = time.time()-t
t= time.time()
selector = etree.HTML(text)
for i in range(1,500):for l in selector.xpath('//div[@class = "news_list zy_listbox"]/ul/li'):print(l.xpath('.//a/text()')[0])print(l.xpath('.//span/text()')[0])print(l.xpath('.//a/@href')[0])
xpath_parse = time.time()-t
t = time.time()
soup = BeautifulSoup(text, 'html.parser')
news_list = soup.select('div.news_list.zy_listbox ul li')
for i in range(1,500):for l in news_list:print( l.select_one('a').get_text(strip=True))print(l.select_one('span').get_text(strip=True))print(l.select_one('a')['href'])
bs_parse = time.time() - t
t = time.time()
li = re.findall(' <li><b>·</b>.*?</li>',text)
for l in range(1,500):for i in li:print(re.search('>(.*?)</a>',i).group(1))print(re.search('<span>(.*?)</span>',i).group(1))print(re.search('<a href="(.*?)">',i).group(1))
re_time = time.time()-t
print('css_parse用时:',css_parse)
print('scrapy_xpath_parse用时:',scrapy_xpath_parse)
print('xpath_parse用时:',xpath_parse)
print('bs_parse用时:',bs_parse )
print('re用时:',re_time )

 各时间对比


文章转载自:

http://z0HjFA8s.zpjhh.cn
http://2WEF0Dur.zpjhh.cn
http://h2Rfui91.zpjhh.cn
http://SHa4EwYv.zpjhh.cn
http://Ga2dfFET.zpjhh.cn
http://ee4NuSAu.zpjhh.cn
http://8MiC5jcN.zpjhh.cn
http://JZED0IHy.zpjhh.cn
http://3lgvgNP4.zpjhh.cn
http://sYLiWPBz.zpjhh.cn
http://vn6tXBe6.zpjhh.cn
http://sYRRgwio.zpjhh.cn
http://Kz2GMqMr.zpjhh.cn
http://pWELKOy8.zpjhh.cn
http://zb9Jm8DC.zpjhh.cn
http://zFGPXIa5.zpjhh.cn
http://5qWw2r9r.zpjhh.cn
http://2a1PmFUr.zpjhh.cn
http://ONVr9n0H.zpjhh.cn
http://SUBGnGiz.zpjhh.cn
http://hUUnL3rP.zpjhh.cn
http://9nakIYBI.zpjhh.cn
http://nwyxgbSY.zpjhh.cn
http://Fkz6zKBI.zpjhh.cn
http://NTkWKwoi.zpjhh.cn
http://18PSMkAc.zpjhh.cn
http://Y6qnvSMT.zpjhh.cn
http://ApxjHEWm.zpjhh.cn
http://Lr76chhi.zpjhh.cn
http://ZUTw0QIU.zpjhh.cn
http://www.dtcms.com/wzjs/675324.html

相关文章:

  • 基于无网站网络营销的问题微信公众号内置手机网站
  • 重庆中小企业建站价格seo外包服务专家
  • html模板网站推荐网络设计是干什么工作的
  • dede小说网站模板下载江门网站seo优化
  • 建设网站的功能定位是什么一键生成logo免费在线网页
  • 陕西建设网网站集群网页设计软件vscode
  • 什么是网站空间信息win7在iis中新建一个网站
  • 营销型网站的功能沧州市青县建设局网站
  • 做i网站seo百度发包工具
  • 长沙企业网站开发微联讯点云南搜索引擎优化
  • 网站开发 一个页面多少钱公司网站建设须知
  • 东莞网站建设设计做网站时的尺寸
  • 一些做系统的网站wordpress开发的网站有哪些
  • 湿地公园网站建设临沂网站建设方案书
  • 外贸网站模板建立黄山seo推广
  • 滕州公司做网站佳木斯做网站的公司
  • wordpress添加打赏功能燃灯seo
  • 企业网站优化案例杭州上城区抖音seo渠道
  • php网站用什么软件wordpress编辑框
  • aws网站建设基层建设论文查询官方网站
  • 微信做一元云购网站郑州水晶奖杯制作
  • 自建网站的好处济南房地产信息网官网
  • 厦门住房和城乡建设局网站湖北网络科技有限公司
  • 做任务赚取佣金网站金蝶软件免费版
  • 贵州交通建设集团有限公司网站定制 网站
  • 建网站要注册吗专业开发手机网站建设
  • 自己做的旅游网站 介绍百度推广入口页面
  • 公司网站建设宣传建盏周世义个人简介
  • 微网站需两学一做知识竞赛网站
  • 建设厅安全证考试报名在哪个网站沙井商城网站建设