无头浏览器和我们平常用的浏览器是一样的,只是可以仅用代码调用,不打开界面。
python中无头浏览器有多种,至少我知道的有selenium和pyppeteer,下面的代码是selenium的,是18年搞的,现在有些网站已经可以检测到selenium,并且自动屏蔽了,例如头条新闻。并且selenium的效率也不高,不推荐使用。
import os
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
import time
chrome_options = Options()
chrome_options.add_argument("--headless")#设置浏览器不开界面
base_url = "http://www.baidu.com/"#要爬取的网址
driver = webdriver.Chrome(executable_path=(r'C:\Users\Administrator\AppData\Local\Google\Chrome SxS\Application\chromedriver.exe'), chrome_options=chrome_options)#启动一个浏览器,executable_path是对应的chromedriver的放置目录
driver.get(base_url + "/")#用浏览器访问网址
start_time=time.time()
print('this is start_time ',start_time)
driver.find_element_by_id("kw").send_keys("教师 话语")#可以对网页中的内容进行一定的操作,每个网页都不一样,这个是找到‘kw’元素(网页中的文本框),并且向它发送文字
driver.find_element_by_id("su").click()#点击按钮
driver.save_screenshot('screen.png')#保存屏幕截图
driver.close()#关闭浏览器
end_time=time.time()
print('this is end_time ',end_time)