scrapy selenium速度慢修改

2021-10-13 13:19:37 字數 2146 閱讀 8666

concurrent_requests = 32

download_delay = 0.5

concurrent_requests_per_domain = 1000000

1. 啟動chrome畢竟是圖形化的介面, 肯定是會消耗大量記憶體和cpu 

2. phantomjs正是一款沒有介面的瀏覽器但是還是同樣能完成瀏覽器的渲染。這樣如果我們的作業系統是沒有介面的linux伺服器上,phantomjs就大有用途了。

3. phantomjs提供的設定項多, 比如可以設定忽略images的請求減少網路請求數

phantomjs是一款瀏覽器, selenium就當然能像操作chrome一樣很簡單的操作phantomjs了。

from selenium import webdriver

browsedriver = webdriver.phantomjs(executable_path="phantomjs的驅動路徑")

browsedriver.get('')

print(browsedriver.page_source)

print(browsedriver.current_url)

but:新版selenium不再支援phantomjs

把原來的chrome驅動設為無頭模式

from selenium import webdriver

#匯入chrome選項

from selenium.webdriver.chrome.options import options

import time

#****************配置驅動************************

path =r'c:\users\administrator.user-20181127il\desktop\chromedriver.exe'

# 建立chrome瀏覽器驅動,無頭模式)

chrome_options = options()

chrome_options.add_argument('--headless')

browser = webdriver.chrome(executable_path=path, options=chrome_options)

#****************開始操作瀏覽器********************

url = ''

browser.get(url)

time.sleep(3)

print(browser.title)

# 關閉瀏覽器

browser.quit()

突然一下快了很多

from selenium import webdriver

from time import sleep

#實現無視覺化介面

from selenium.webdriver.chrome.options import options

#實現規避檢測

from selenium.webdriver import chromeoptions

#實現無視覺化介面的操作

chrome_options = options()

chrome_options.add_argument('--headless')

chrome_options.add_argument('--disable-gpu')

#實現規避檢測

option = chromeoptions()

option.add_experimental_option('excludeswitches', ['enable-automation'])

#如何實現讓selenium規避被檢測到的風險

bro = webdriver.chrome(executable_path='./chromedriver',chrome_options=chrome_options,options=option)

#無視覺化介面(無頭瀏覽器) phantomjs

bro.get('')

print(bro.page_source)

sleep(2)

bro.quit()

scrapy selenium動態抓取

1 middleware.py檔案配置 瀏覽器不提供視覺化頁面.linux下如果系統不支援視覺化不加這條會啟動失敗 chrome options.add argument headless 谷歌文件提到需要加上這個屬性來規避bu chrome options.add argument disable...

scrapy selenium爬去京東動態網頁

使用scrapy爬取京東圖書出現問題 京東中部分資料採用js載入生成。造成後果 scrapy爬下來的網頁缺乏一些資訊 需要載入js才能生成 如圖1 圖1京東商品的 不在網頁源 中。解決方法 由於感覺麻煩,沒有使用 2.使用selenium進行渲染,步驟如下 a.在自定義的spider的初始化時,使用...

1 秒速5 秒速五厘公尺

昨天,我做了乙個夢,乙個很久之前的夢。在夢裡,我們還只有13歲,在夢裡,一片被白雪覆蓋的廣闊的田園上。僅僅能從遠方些許地看到燈光,剛剛積起的雪地,只有我們走過時留下的足跡,就是這樣,什麼時候能再一次,一起賞櫻花。過往數年間,我只是想著先往前走想要觸控遙不可及的事物,但連那具體的目標是什麼,以及幾乎可...