在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()