在linux利用无界面谷歌驱动爬头条详情
头条详情的反爬虫是利用js做的window.location.reload()来做的
相当于重定向
可以在linux安装谷歌浏览器和谷歌驱动
利用pyvirtualdisplay模块可以实现无界面的(其实是有界面 只是隐藏起来了 如果直接用无头浏览器没法处理重定向因为只会返回第一次加载的界面)加载
from selenium import webdriver import time from selenium.webdriver.chrome.options import Options from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from pyvirtualdisplay import Display chrome_options = Options() chrome_options.add_argument('--no-sandbox') # chrome_options.add_argument('--headless') chrome_options.add_argument('--disable-gpu') display = Display(visible=0, size=(1920, 1080)) display.start() driver = webdriver.Chrome(chrome_options=chrome_options) driver.get("https://www.toutiao.com/a6872616969728688653/") try: element = WebDriverWait(driver, 30).until( EC.presence_of_element_located((By.XPATH, '//*[@class="article-sub"]')) ) text = driver.page_source print("text", text) finally: driver.quit() display.stop()