使用selenium打开微博
在之前的案例里面,我们学习了使用requests、BeautifulSoup库来爬取豆瓣读书的数据,今天我们要来学习一个新的工具:selenium.
selenium最初是一个自动化测试工具,在爬虫中使用它主要是为了解决requests无法执行javaScript代码的问题。
#安装selenium库
pip install selenium
先考一下大家,我们打开一个网页的第一步是什么?
当然是先打开浏览器对不对,那么我们使用selenium来打开浏览器时,还需要配合一个工具来进行,它就是浏览器驱动。
在这里,墙裂建议大家使用谷歌浏览器(chrome),接下来我会示范一下,如何在Windows系统下,安装谷歌浏览器对应的浏览器驱动!
查看浏览器版本号
打开谷歌浏览器,点击浏览器右上角的三个点,再单击设置,如下图所示
谷歌浏览器设置
选择下方的关于Chrome,如图所示,我的浏览器版本就是:80.0.3987.162(正式版本) (32 位)
谷歌浏览器版本号
选择跟自己浏览器版本号最接近的版本,点击进入下载,因为我的浏览器版本是32位的,所以驱动版本也选择32位的windows版本
浏览器驱动版本
驱动安装:把下载好zip文件解压以后的chromedriver.exe放到python安装路径的scripts目录中即可
如果你不知道你的python文件夹是在哪里,请安装如下图所示的方法进行操作:
使用快捷键 win + r 打开运行窗口,输入cmd,然后点击确定进入命令行窗口
在命令行输入:where python,回车,如图所示:
命令行输入:`where python`
在新的命令行中输入:explorer + python的路径,如图所示,我这里的输入就是:explorer D:\python (注意,后面的python.exe不需要输入)
文件路径
你也可以直接按文件夹的路径打开文件夹,不需要在命令行输入
将chromedriver.exe放到python安装路径的scripts目录中即可
chromedriver.exe
到这里我们的浏览器驱动就已经安装好了,接下来,我们用selenium打开谷歌浏览器看看:
# 从 selenium 中导入 webdriver(驱动)
from selenium import webdriver
# 打开Chrome 浏览器
browser = webdriver.Chrome()
#这里的browser实际上是浏览器的示例化对象
运行结果
我们看到运行代码之后,自动打开了谷歌浏览器,并提示:Chrome正受到自动测试软件的控制
接下来,我们尝试一下打开微博网页:
# 从 selenium 中导入 webdriver(驱动)
from selenium import webdriver
import time
# 打开Chrome 浏览器
browser = webdriver.Chrome()
# 打开微博网页
browser.get('https://weibo.com')
#微博加载比较慢,我们给它设置20s的打开时间,然后关闭浏览器
time.sleep(20)
# 关闭浏览器
browser.quit()
打开微博
接下来,我们要利用selenium自动登录微博,点此继续学习python3 爬虫学习:自动给你心上人的微博点赞(二)