成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

python + selenium + chromedriver 如何實(shí)現(xiàn)無界面爬取

瀏覽:150日期:2022-07-14 16:59:35

問題描述

在使用selenium爬取12306的過程中,發(fā)現(xiàn)使用phantomjs無法爬取,使用chromedriver就可以,應(yīng)該是phantomjs被網(wǎng)站檢測(cè)出來后封禁了,使用chromedriver又會(huì)顯示界面,爬取效率低。現(xiàn)在有兩點(diǎn)疑問,google了好久都沒找到有效的解決方法1.如何偽裝phantomjs,盡最大可能的偽裝2.如何設(shè)置chromedriver,使其不顯示界面,或者還有什么其他方法提高爬取效率

感謝?。。?/p>

問題解答

回答1:

通過PyVirtualDisplay可以實(shí)現(xiàn)你的需求,大概代碼就是這樣:

#!/usr/bin/env pythonfrom pyvirtualdisplay import Displayfrom selenium import webdriverdisplay = Display(visible=0, size=(800, 600))display.start()# now Firefox will run in a virtual display. # you will not see the browser.browser = webdriver.Chrome()browser.get(’http://www.baidu.com’)print browser.titlebrowser.quit()display.stop()

不知道你修改過phantomjs的頭信息沒有,可以通過

from selenium import webdriveroptions = webdriver.ChromeOptions()options.add_argument(’lang=zh_CN.UTF-8’)options.add_argument(’user-agent='Mozilla/5.0 (iPod; U; CPU iPhone OS 2_1 like Mac OS X; ja-jp) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5F137 Safari/525.20'’)browser = webdriver.Chrome(chrome_options=options)url = 'https://baidu.com'browser.get(url)browser.quit()

這種方式修改phantomjs的頭部信息,這個(gè)也可以試試

回答2:

可以參考鄙人的文章在headless模式下運(yùn)行selenium

標(biāo)簽: Python 編程
相關(guān)文章: