溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python爬蟲中requests和selenium有什么區(qū)別

發(fā)布時(shí)間:2020-11-30 14:06:01 來源:億速云 閱讀:5348 作者:小新 欄目:編程語言

這篇文章主要介紹了python爬蟲中requests和selenium有什么區(qū)別,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

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它是用于自動(dòng)化Web應(yīng)用程序的測(cè)試目的,但肯定不僅限于此。

對(duì)于一般網(wǎng)站來說scrapy、requests、beautifulsoup等都可以爬取,但是有些信息需要執(zhí)行js才能顯現(xiàn),而且你肉眼所能看到的基本都能爬取下來,在學(xué)習(xí)中遇到了,就記錄下來方便以后查看。

webdrive是selenium中一個(gè)函數(shù):

from selenium import webdriver
driver = webdriver.Chrome()
driver.get('網(wǎng)址')

其中PhantomJS同時(shí)可以換成Chrome、Firefox、Ie等等,但是PhantomJS是一個(gè)無頭的瀏覽器,運(yùn)行是不會(huì)跳出相應(yīng)的瀏覽器,運(yùn)行相對(duì)效率較高。在調(diào)試中可以先換成Chrome,方便調(diào)試,最后再換成PhantomJS即可。

說一說 Selenium 的缺點(diǎn):

1、速度慢。每次運(yùn)行爬蟲都打開一個(gè)瀏覽器,如果沒有設(shè)置,還會(huì)加載圖片、JS等等一大堆東西;

2、占用資源太多。有人說,把Chrome換成無頭瀏覽器PhantomJS,原理都是一樣的,都是打開瀏覽器,而且很多網(wǎng)站會(huì)驗(yàn)證參數(shù),如果對(duì)方看到你是以PhantomJS去訪問,會(huì)BAN掉你的請(qǐng)求,然后你又要考慮更換請(qǐng)求頭的事情,事情復(fù)雜程度不知道多了多少,為啥學(xué)Python?因?yàn)镻ython簡單啊,如果有更快、更簡單的庫可以實(shí)現(xiàn)同樣的功能,為什么不去使用呢?

3、對(duì)網(wǎng)絡(luò)的要求會(huì)更高。 Selenium 加載了很多可能對(duì)您沒有價(jià)值的補(bǔ)充文件(如css,js和圖像文件)。 與僅僅請(qǐng)求您真正需要的資源(使用單獨(dú)的HTTP請(qǐng)求)相比,這可能會(huì)產(chǎn)生更多的流量。

4、爬取規(guī)模不能太大。

5、難。學(xué)習(xí)Selenium的成本太高,

通過比較我們可以看出,requests在代碼方面簡潔而且操作難度不大,相信很多小伙伴已經(jīng)上手requests,而selenium的不足之處比較多,所以不推薦大家用來爬取數(shù)據(jù)。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享python爬蟲中requests和selenium有什么區(qū)別內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI