Selenium爬虫 -- 无界面爬取:无头模式及其他参数

之前开发的爬虫是在Windows系统开发和测试爬取效果的,现在需要放到Linux服务器上,所以把界面去掉。

使用Selenium的无头模式即可。

Selenium可以有效地防止被检测为爬虫。

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

ch_options = Options()
ch_options.add_argument("--headless")  # => 为Chrome配置无头模式
# ch_options.add_argument(--no-sandbox)
# ch_options.add_argument(--disable-gpu)
# ch_options.add_argument(--disable-dev-shm-usage)

# 在启动浏览器时加入配置
browser = webdriver.Chrome(chrome_options=ch_options)
# browser = webdriver.Chrome()

browser.get(https://blog..net/hhr603894090)
ts = browser.find_elements_by_xpath(//*[@id="articleMeList-blog"]/div[2]/div[1]/h4/a)
for ats in ts:
    print(ats.text)

# chrome_options = Options()
# chrome_options.add_argument(--no-sandbox) #解决DevToolsActivePort文件不存在的报错
# chrome_options.add_argument(window-size=1920x3000)  #指定浏览器分辨率
# chrome_options.add_argument(--disable-gpu)  #谷歌文档提到需要加上这个属性来规避bug
# chrome_options.add_argument(--hide-scrollbars)  #隐藏滚动条, 应对一些特殊页面
# chrome_options.add_argument(blink-settings=imagesEnabled=false)  #不加载图片, 提升速度
# chrome_options.add_argument(--headless)  #浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
经验分享 程序员 微信小程序 职场和发展