Selnium库(爬取那些爬取难度较高的网站)
1 安装模拟浏****览器(这里以谷歌浏览器为例,对应的模拟浏览器为chromedriver)
1.1 查看谷歌浏览器的版本号(单击右上角→帮助→关于Google Chrome)
当前谷歌浏览器的版本为127.0.6533.89
1.2 下载ChromeDriver安装包
** ** ChromeDriver安装包官方:http://chromedriver.storage.googleapis.com/index.html
ChromeDriver安装包镜像网站:https://npm.taobao.org/mirrors/chromedriver/
上面这两个链接,我都无法打开,全网寻找一番,找到了另外两个地址:
https://chromedriver.storage.googleapis.com/index.html ( 这里chromedriver最新版是 114.0.5735.90,版本太低,并且它只包含win32的版本,和我自己电脑上的谷歌浏览器版本不一样,在后续使用的时候会出现问题,详情见后面)
Chrome for Testing availability
这个链接包含最新的google浏览器模拟器下载链接,满足版本不匹配和win64版本的要求
1.3 安装ChromeDriver
**** 1.查询python的安装路径****
** **【Win+R】→输入cmd→按【Enter】键→输入”where python”→按【Enter】键
**** **** ** 2.放置chromedriver.exe**
解压chromedriver_win32.zip文件,解压缩文件夹中找到chromediver.exe,
将chromedriver.exe文件复制到python安装路径下的Scripts文件夹中
**** 3.运行chromadriver****
**** 命令窗口输chromedriver,按【Enter】键,运行结果如下图,则成功安装****
2 安装Selenium库
给JupyterNotebook安装:在Anaconda Prompt中输入pip install selenium
给Pycharm安装:终端中输入pip install selenium
3用Selenium库获取网页源代码:新浪财经股票信息
**** 1.访问及关闭页面****
**** 打开:from selenium import webdriver
**** browser = webdriver.Chrome() #声明要模拟浏览器是谷歌浏览器
**** browser.get('https://www.baidu.com') #访问指定浏览器****
**** 关闭:****brower.quit()
**** 2.获取网页源代码****
** data = browser.page_source** #可获得模拟浏览器中经过动态渲染的网页代码****
**** 3.最终代码如下和运行结果:****
from selenium import webdriver
browser = webdriver.Chrome() #声明要模拟浏览器是谷歌浏览器
browser.get('https://finance.sina.com.cn/realstock/company/sh000001/nc.shtml') #访问指定浏览器
data = browser.page_source #可获得模拟浏览器中经过动态渲染的网页代码
print(data)
遇到的问题:模拟浏览器的版本不匹配
**报错代码如下:**
The chromedriver version (114.0.5735.90) detected in PATH at D:\Python 3.12.2\Scripts\chromedriver.exe might not be compatible with the detected chrome version (127.0.6533.89); currently, chromedriver 127.0.6533.88 is recommended for
chrome 127.*, so it is advised to delete the driver in PATH and retry
报错截图如下:
我又重新下载了,版本正确的模拟浏览器,问题才得以解决。
版权归原作者 知微zhiwei 所有, 如有侵权,请联系我们删除。