您好,登錄后才能下訂單哦!
這篇文章主要介紹了python爬蟲中requests和selenium有什么區別,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
requests代碼:
#!/usr/bin/env python # -*- coding: utf-8 -*- import requests r = requests.get('https://api.github.com', auth=('user', 'pass')) print r.status_code print r.headers['content-type']
requests代碼部分簡單易懂。
selenium它是用于自動化Web應用程序的測試目的,但肯定不僅限于此。
對于一般網站來說scrapy、requests、beautifulsoup等都可以爬取,但是有些信息需要執行js才能顯現,而且你肉眼所能看到的基本都能爬取下來,在學習中遇到了,就記錄下來方便以后查看。
webdrive是selenium中一個函數:
from selenium import webdriver driver = webdriver.Chrome() driver.get('網址')
其中PhantomJS同時可以換成Chrome、Firefox、Ie等等,但是PhantomJS是一個無頭的瀏覽器,運行是不會跳出相應的瀏覽器,運行相對效率較高。在調試中可以先換成Chrome,方便調試,最后再換成PhantomJS即可。
說一說 Selenium 的缺點:
1、速度慢。每次運行爬蟲都打開一個瀏覽器,如果沒有設置,還會加載圖片、JS等等一大堆東西;
2、占用資源太多。有人說,把Chrome換成無頭瀏覽器PhantomJS,原理都是一樣的,都是打開瀏覽器,而且很多網站會驗證參數,如果對方看到你是以PhantomJS去訪問,會BAN掉你的請求,然后你又要考慮更換請求頭的事情,事情復雜程度不知道多了多少,為啥學Python?因為Python簡單啊,如果有更快、更簡單的庫可以實現同樣的功能,為什么不去使用呢?
3、對網絡的要求會更高。 Selenium 加載了很多可能對您沒有價值的補充文件(如css,js和圖像文件)。 與僅僅請求您真正需要的資源(使用單獨的HTTP請求)相比,這可能會產生更多的流量。
4、爬取規模不能太大。
5、難。學習Selenium的成本太高,
通過比較我們可以看出,requests在代碼方面簡潔而且操作難度不大,相信很多小伙伴已經上手requests,而selenium的不足之處比較多,所以不推薦大家用來爬取數據。
感謝你能夠認真閱讀完這篇文章,希望小編分享python爬蟲中requests和selenium有什么區別內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。