为什么要使用Selemium
首先我们要知道,在python爬虫中我们使用selenium能干什么。首先我们在爬取网页的时候总是会遇到一些由JavaScript动态渲染出来的页面,使得我们普通的请求得不到想要的数据。而Selenium在爬虫中就是用来解决这种动态渲染的页面爬虫问题,它可以直接模拟浏览器的运行,因为对于浏览器来说,它是可以看见动态渲染的这一部分数据的,所以说我们可以直接通过selenium模拟浏览器拿到所需数据。
如何使用selenium
既然selenium要模拟浏览器的运行,那么我们就需要一个浏览器,一般来说,我们使用Chrome。因此先确保你的电脑正确的安装好了Chrome浏览器。
导入selenium库
导完库之后,要确保已经导入成功了
pip install selenium
自动安装浏览器驱动
同时我们selenium要使用浏览器需要一个浏览器的驱动,这个驱动的版本要和浏览器对应,在这里我们可以直接自动安装这个驱动,需要用到ChromeDriverManager,直接导入。
from webdriver_manager.chrome import ChromeDriverManager
使用方法
ChromeDriverManager().install()
ChromeDriverManager()里面可以传入一个安装路径
driver_path = './'
ChromeDriverManager(path=driver_path).install()
至此我们在执行selenium程序的时候,它就会自动根据当前浏览器版本,在当前目录下面安装一个驱动。
初始化浏览器对象
在初始化浏览器对象的时候我们需要使用到webdriver和Service
首先导入
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
然后将刚刚使用的加载浏览器驱动提供给Service,然后将带有驱动Service添加到浏览器对象中。
driver_path = './'
s = ChromeService(ChromeDriverManager(path=driver_path).install())
driver = webdriver.Chrome(service=s)
访问页面
对初始化的浏览器对象使用get方法,就可以直接访问页面了。
driver.get('https://so.csdn.net/')
print(driver.page_source)
至此,我们知道了如何使用selenium,并且访问了网站,并且使用**.page_source**拿到了网页数据。