我是靠谱客的博主 甜美豆芽,最近开发中收集的这篇文章主要介绍selenium+python headless访问网页,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近学python爬虫,发现请求的页面如果是内容是异步加载的,则没办法用BeautifulSoup这些库爬取异步加载的数据。

selenium是自动化测试工具,可以调用浏览器加载页面数据(包括异步加载的数据),通过selenium可以很便捷爬取页面所有信息

先下载python的selenium库

pip install selenium

1、selenium+phantomjs(已夭折)

官网:http://chromedriver.storage.googleapis.com/index.html

phantomjs是一个headless的web工具,提供强大的JavaScript api,但是selenium最新版已经不支持phantomjs

如果不用selenium情况下,还是可以单独用phantomjs做数据爬取

2、selenium+Firefox

安装火狐浏览器

下载geckodriver

https://github.com/mozilla/geckodriver/releases

from selenium import webdriver
options = webdriver.FirefoxOptions()
#options.set_headless(True)
options.add_argument("--headless") #设置火狐为headless无界面模式
options.add_argument("--disable-gpu")
driver = webdriver.Firefox(firefox_options=options, executable_path="D:\开发相关\开发资料\geckodriver-v0.21.0-win64\geckodriver")
driver.get("https://s.taobao.com/search/?")
driver.get_screenshot_as_file("C:\Users\Administrator\Desktop\test.png")
driver.close()

设置firefxo为headless模式

options.add_argument("--headless")

指定firefox的设置(这里不需要指定executable_path)

driver=webdriver.Firefox(firefox_options=options)

3、selenium+chrome

安装谷歌浏览器

下载chromedriver(要根据本机chrome浏览器版本,下载对应的chromedriver版本,否则会运行出错)

http://chromedriver.storage.googleapis.com/index.html

chromedriver和chrome版本对照表


下载后解压文件



from selenium import webdriver
# from selenium.webdriver.chrome.options import Options
# chrome_options = Options()
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--headless")
# chrome_options.add_argument("--disable-gpu")
driver = webdriver.Chrome(chrome_options=chrome_options,executable_path="D:\开发chromedriver_win32\chromedriver")
driver.get("https://s.taobao.com/search/?")
driver.get_screenshot_as_file("C:\Users\Administrator\Desktop\test.png")
driver.close()

设置chrome为headless模式

options.add_argument("--headless")

指定chromedriver路径

driver = webdriver.Chrome(chrome_options=chrome_options,executable_path="D:\开发chromedriver_win32\chromedriver")

其中chrome headless运行得特别慢,不知道为啥

运行结果在桌面生成网页截图



最后

以上就是甜美豆芽为你收集整理的selenium+python headless访问网页的全部内容,希望文章能够帮你解决selenium+python headless访问网页所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部