拒絕撕逼,用數據來告訴你選擇器到底哪家強
前幾天寫了一篇文章,爬蟲入門到精通-網頁的解析(xpath) - 知乎專欄
然後有人問我,xpath速度比bs4快么?說實話,我也不太清楚。。。
還有人說,「XPATH是最快的」,那麼xpath,bs4,pyquery到底誰比較快呢?
作為一個嚴謹的程序員,我們必須拿數據說話
測試環境
- 硬體環境:
- 操作系統:Windows7 64
- 處理器:Inter(R)Xeon(R) CPU E5-2650 v3
- 內存:8G
- 軟體環境:
- pyquery:1.2.17
- lxml:3.7.3
- bs4:4.5.1
- parsel:1.1.0
代碼如下:
from pyquery import PyQuery as pqnfrom lxml import etreenfrom bs4 import BeautifulSoupnfrom parsel import Selectornnhtml = u"""n<html>n <head>n <base href=http://example.com/ />n <title>Example website</title>n </head>n <body>n <div id=images>n <a href=image1.html>Name: My image 1 <br /><img src=image1_thumb.jpg /></a>n <a href=image2.html>Name: My image 2 <br /><img src=image2_thumb.jpg /></a>n <a href=image3.html>Name: My image 3 <br /><img src=image3_thumb.jpg /></a>n <a href=image4.html>Name: My image 4 <br /><img src=image4_thumb.jpg /></a>n <a href=image5.html>Name: My image 5 <br /><img src=image5_thumb.jpg /></a>n </div>n </body>n</html>n"""n
然後每段都跑10000次
最後的數據是:
所有代碼都放在了 kimg1234/pachong
歡迎關注本人的微信公眾號獲取更多Python爬蟲相關的內容
(可以直接搜索「Python爬蟲分享」)
推薦閱讀:
※Django表單的三種玩法。
※Python科學計算與自動控制2-變數與簡單數據類型
※Python的在線學習地址?
※[15] Python循環語句(二)