python+selenium+chromedriver实现爬虫示例代码
作者:茶哩 发布时间:2021-03-05 02:53:23
标签:python,selenium,chromedriver,爬虫
下载好所需程序
1.Selenium简介
Selenium是一个用于Web应用程序测试的工具,直接运行在浏览器中,就像真正的用户在操作一样。
2.Selenium安装
方法一:在Windows命令行(cmd)输入pip install selenium即可自动安装,安装完成后,输入pip show selenium可查看当前的版本
方法二:直接下载selenium包:
selenium下载网址
Pychome安装selenium如果出现无法安装,参考以下博客
解决Pycharm无法使用已经安装Selenium的问题
3.禁止谷歌浏览器自动更新
搜索本地:管理工具-服务-Google自动更新服务-选择禁止
安装浏览器对应的驱动driver
我这里用的是谷歌,选择对应的驱动版本
驱动的下载地址如下:
http://chromedriver.storage.googleapis.com/index.html
win32、win64的都下载win32.zip的
将下载的chromedriver进行解压,并将文件复制或移动到,浏览器快捷方式所在目录。
环境变量配置
1.Python环境配置
2.chromedriver环境配置
3.pychrome的python环境指向自己电脑安装好的python
注意:将下载好的chromewebdriver.exe驱动放在Python的安装路径下的Scripts里面,同时将Scripts路径添加到PATH中,这样每次运行python的时候就会自动加载驱动
代码实现
#已经准备环境:webdriver:Google已经安装好;环境变量配置好;pip install selenium;
#selenium是一个包,包有很多对象,对象有属性,方法。
from selenium import webdriver
browser=webdriver.Chrome()#打开浏览器
url="https://news.qq.com/zt2020/page/feiyan.htm#/global?nojump=1"#获取数据的地址
#请求浏览器内容:请求方式:get,post,token
browser.get(url)
#css选择器,id选择器:#开头,class选择器:.开头,标签选择器:p,span,div。
coronavirus_countent=browser.find_element_by_class_name('d')#定位到class选择器d这个内容
print(coronavirus_countent)#查看内容,session,一种缓存机制,通过浏览器解析,然后缓存的内容
# <selenium.webdriver.remote.webelement.WebElement (session="a1aa22161543b44f599e97b35dbc1ac5", element="fe645993-43cb-46cf-83a7-2488dd3d838a")>
print(coronavirus_countent.text)#查看当前css.class中的d的内容
coronavirus_time=browser.find_element_by_class_name('ml')#定位到class选择器d这个内容
print(coronavirus_time.text)
coronavirus_data=browser.find_element_by_class_name('nowConfirm')#定位到class选择器d这个内容
print("=======")
print(coronavirus_data.text)
print("=====找nowConfirm下面的字内容")
coronavirus_sub=coronavirus_data.find_element_by_class_name('addnum')
print(coronavirus_sub.text)
browser.quit()
来源:https://blog.csdn.net/Zsusan7/article/details/105385582


猜你喜欢
- 一、字符编码简史:美国:1963年 ASCII (包含127个字符 占1个字节)中国:1980年 GB2312 (收录7445个
- 我的mysql版本 MYSQL V5.7.9,旧版本请使用:UPDATE mysql.user SET Password=PASSWORD(
- Django是一个基于Python Web框架的高级Web框架,允许快速开发和干净,务实的设计。今天,我们将创建一个待办事项应用程序,以了解
- element-ui form或table lable换行问题今天在写项目,突然遇到个需求,需要将form里面的lable换行,百度了下,发
- 什么是 PycharmPycharm 是目前最好用的 Python 编辑器,自带文本高亮、版本管理、数据库连接、断点调试、虚拟环境和包管理的
- 我们都知道有很多的非常著名的注册服务器,例如: Consul、ZooKeeper、etcd,甚至借助于redis完成服务注册发现。但是本篇文
- Python语言有一种独特的推导式语法,相当于语法糖的存在,可以帮助你在某些场合写出较为精简酷炫的代码。但没有它,也不会有太多影响。Pyth
- 本文实例讲述了Python实现的求解最小公倍数算法。分享给大家供大家参考,具体如下:简单分析了一下,前面介绍的最大公约数的求解方法跟最小公倍
- 在GUI编程中有一个不容忽视的部分,那就是布局管理。布局管理掌控着我们的控件在应用程序窗口如何摆放。布局管理可以通过两种方式来完成。我们可以
- 前言最近忙着开发x省冷链追溯系统,天天干到晚上十一点多才回到家,周末也加班,没啥时间写博客,闲下来再好好写写业务: sql语句统计出入库数据
- 下面先给大家介绍下mpvue跳转页面,具体内容如下所示:正准备写一个小程序,得知了mpvue开源的消息,又恰巧之前刚刚学习了一点vue,便开
- 一 、精灵(Sprite),屏幕上的对象。精灵组是精灵的组合。创建空的精灵组对象:精灵组可以对其中的所有精灵调用它们各自的更新方法(self
- 在利用QT编写GUI程序时经常需要一些交互操作,常见的有鼠标事件、键盘事件等。今天我们要实现的是在label中已经显示的图像中绘制矩形框,以
- 最近迷上了Python,要说为什么呢?Python语法简单,功能强大,有广泛的第三方库能快速编程实现自己的想法(无需重复去造轮子)。就像某位
- 解决SQL Server 连接失败的问题最近因学习数据库系统原理,下载安装了一个2019版本的,启动服务后,发现使用Aqua Data St
- 调试JavaScript程序时,有时需要打印函数调用的栈信息,这可以通过使用console.trace()来实现。以下面的代码为例:func
- 熟悉web开发的同学对hook钩子肯定不陌生,通过钩子可以方便的实现一些触发和回调,并且做一些过滤和拦截。django中的中间件(middl
- python提取特定时间段内的数据尝试一下:data['Date'] = pd.to_datetime(data['
- 本文实例讲述了python网络编程之文件下载实现方法。分享给大家供大家参考。具体如下:真是越看越喜欢python啊,想要了解它提供的http
- 已经记不得是在哪个网站上看到的了,一般情况下对于验证码的校验,大家很容易写成下面这样: <% If Request.Form(&quo