##selenium是什么
selenium模块可以让 Python 直接控制浏览器,可以实际点击链接,填写登录信息等等,几乎就像是真正的用户在操作一样。支持的浏览器包括 IE, Firefox, Chrome, Safari, Opera等。selenium的缺点就是要启动web浏览器,这样会使得爬取的速度变慢,并且难以在后台运行。
##安装
本机环境
Python 3.6
windows
安装selenium
在cmd中输入
python -m pip install selenium
安装驱动文件
此处以Firefox为例
下载Geckodriver(https://github.com/mozilla/geckodriver/releases)
然后将
geckodriver.exe
放到Python安装根目录(与Python.exe同一目录)
##例子
以第一财经网的新闻页面为例,在页面下方有一个
点击加载更多
的可点击对象(即支持
click()
方法,但不是按钮)。我们用selenium去模拟点击
点击加载更多
,以此实现不断向下加载。
通过检查元素,找到
点击加载更多
这个标签的信息。
具体代码如下:
import time
from selenium import webdriver
browser = webdriver.Firefox() # 启动Firefox浏览器
browser.get('http://www.yicai.com/news/') # 将浏览器指向该网页
while True:
divmore = browser.find_element_by_id('divMore') # 在网页中查找匹配id属性值的元素,返回一个WebElement对象
divmore.click() # 调用WebElement对象的click()方法,模拟鼠标在该元素上点击
time.sleep(1) # 每隔1s点击一次