selenium爬取2

下面一起来看一些如何使用 selenium 进行爬虫:

安装 selenium

和安装其他 Python 模块一样,直接 pip install selenium 就行了

图片

当出现 successful 表示安装成功

下载相应的浏览器驱动

selenium 支持 IE、Chrome、Firxfox 等多款浏览器

下载之前,先看一张谷歌浏览器对应的驱动表

图片

只列举了部分,如果上面没有你的 Chrome版本,那应该就是你的版本太旧了,快快更新!

怎么看自己的 Chrome 浏览器版本号?

打开-->谷歌-->右上角-->帮助-->关于

图片

图片

找到版本号之后,对应下载自己的版本驱动

列两个下载速度比较快的源,大家参考下载:

http://chromedriver.storage.googleapis.com/index.html
http://npm.taobao.org/mirrors/chromedriver/

安装,配置

这里有两种方法,我目前在用第一种

  1. 解压驱动到本地,然后在代码调用的时候,设置驱动路径即可;

  2. 解压驱动到本地,添加可执行文件路径到环境变量中,代码中直接调用。

根据个人喜好选择吧,只要你的驱动和浏览器能对的上,就没有问题

使用selenium

导入相应模块

from selenium import webdriver

运行一下代码进行测试:

browser = webdriver.Chrome(executable_path="D:\software\install\chromedriver_win32\chromedriver.exe")
browser.get(url)

其中,后面的 executable_path 就是你解压之后的路径,这里你需要修改成自己的。

查看网页源码:

# 输出网页源码
content = browser.page_source

使用 Beautifulsoup 进行网页解析

# 网页解析开始
soup = BeautifulSoup(content, 'html.parser')

到这里了,熟不熟悉?

这不就是前两个小节中我们频繁的使用 Beautifulsoup 进行网页解析吗?

看一下我们通过 selenium 获取到的数据:

# 解析 js获取到的数据
133****4443 ['广东', '深圳', '中国电信'] 快递外卖
# 通过 selenium 获取到的数据
133****4443 广东深圳中国电信 快递外卖

结果基本没差别,都可以获取到想要的结果。

相对而言,在网页的解析、爬虫流程上,通过 selenium 会更直观一些,毕竟可见即可爬

参考链接:小白学爬虫-进阶-获取动态数据(二) (qq.com)

posted @ 2022-03-14 10:18  青竹之下  阅读(34)  评论(0编辑  收藏  举报