Python使用selenium + headless chrome獲取網(wǎng)頁內(nèi)容的方法示例
使用python寫爬蟲時(shí),優(yōu)選selenium,由于PhantomJS因內(nèi)部原因已經(jīng)停止更新,最新版的selenium已經(jīng)使用headless chrome替換掉了PhantomJS,所以建議將selenium更新到最新版,使用selenium + headless chrome
準(zhǔn)備工作:
安裝chrome、chrome driver、selenium
一、安裝chrome
配置yum下載源,在目錄/etc/yum.repos.d/下新建文件google-chrome.repo
> cd /ect/yum.repos.d/ > vim google-chrome.repo
編輯google-chrome.repo,內(nèi)容如下,保存退出
[google-chrome] name=google-chrome baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch enabled=1 gpgcheck=1 gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
安裝google chrome瀏覽器:
> yum -y install google-chrome-stable
PS: Google官方源可能在中國無法使用,導(dǎo)致安裝失敗或者在國內(nèi)無法更新,可以添加以下參數(shù)來安裝:
> yum -y install google-chrome-stable --nogpgcheck
這樣,google chrome即可安裝成功。
二、安裝chrome driver
查看上述安裝的chrome版本,根據(jù)版本選擇對應(yīng)的chrome driver下載,下載之后放到/usr/local/bin目錄
三、安裝selenium
> pip install selenium
上述準(zhǔn)備工作完成后,就可以開始寫代碼了
from selenium.webdriver import Chrome
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('--headless')
options.add_argument('--disable-gpu')
options.add_argument('lang=zh_CN.UTF-8')
# 在linux上需要添加一下兩個(gè)參數(shù)
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
browser = Chrome(chrome_options=options)
browser.set_page_load_timeout(30)
browser.set_script_timeout(30)
browser.get(url)
# 獲取返回內(nèi)容
print browser.page_source
# 查找元素
print browser.find_element_by_tag_name('pre').text
備注:如果訪問一些詳情頁有cookie驗(yàn)證,可以先訪問主頁,然后再訪問詳情頁,webdriver會自動攜帶cookie
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
pytorch dataloader 取batch_size時(shí)候出現(xiàn)bug的解決方式
今天小編就為大家分享一篇pytorch dataloader 取batch_size時(shí)候出現(xiàn)bug的解決方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
Python+Django實(shí)現(xiàn)接口測試工具的示例代嗎
本文主要介紹了Python+Django實(shí)現(xiàn)接口測試工具,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
詳解如何使用Python實(shí)現(xiàn)刪除重復(fù)文件
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)刪除重復(fù)文件功能,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python有一定幫助,需要的可以參考一下2022-10-10
python接口自動化測試數(shù)據(jù)和代碼分離解析
代碼的可維護(hù)性除了代碼冗余之外還有就是數(shù)據(jù)盡量不要和代碼摻雜在一起,因?yàn)殚喿x起來會非常的凌亂;數(shù)據(jù)分離能更好的增加代碼可讀性和可維護(hù)性,也能更好的二次修改使用2021-09-09
用Python從零實(shí)現(xiàn)貝葉斯分類器的機(jī)器學(xué)習(xí)的教程
這篇文章主要介紹了用Python從零實(shí)現(xiàn)貝葉斯分類器的教程,樸素貝葉斯算法屬于機(jī)器學(xué)習(xí)中的基礎(chǔ)內(nèi)容、實(shí)用而高效,本文詳細(xì)展示了用Python語言實(shí)現(xiàn)的步驟,需要的朋友可以參考下2015-03-03

