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下如果系统不支持可视化不加这条会启动失败
