拒絕撕逼,用數據來告訴你選擇器到底哪家強

前幾天寫了一篇文章,爬蟲入門到精通-網頁的解析(xpath) - 知乎專欄

然後有人問我,xpath速度比bs4快么?說實話,我也不太清楚。。。

還有人說,「XPATH是最快的」,那麼xpath,bs4,pyquery到底誰比較快呢?

作為一個嚴謹的程序員,我們必須拿數據說話

測試環境

  1. 硬體環境:
    1. 操作系統:Windows7 64
    2. 處理器:Inter(R)Xeon(R) CPU E5-2650 v3
    3. 內存:8G
  1. 軟體環境:
    1. pyquery:1.2.17
    2. lxml:3.7.3
    3. bs4:4.5.1
    4. 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循環語句(二)

TAG:Python | 爬虫计算机网络 |