selenium爬虫

news/2024/5/21 2:44:03/文章来源:https://blog.csdn.net/hmysn/article/details/136397625

方法选择和安装包

在动态网页并且登陆过程中不需要进行过于复杂的密码验证的时候使用selenium会非常的方便

安装准备过程也相对简单:

下载对应版本的chromedriver并且通过如下代码找到路径下载到python所在的目录:

import sysprint(sys.executable)

最基本的使用selenium:

# 从 selenium 中导入 webdriver(驱动)from selenium import webdriver# 选择 Chrome 浏览器并打开browser = webdriver.Chrome()

处理数据

BeautifulSoup中通过 select()方法查找所有被所传入的 CSS 选择器选中的元素。这里使用find_elements

具体的find_element的方式参考

http://t.csdnimg.cn/SwYrS

BeautifulSoup 的原理是将网页源代码的字符串形式解析成 BeautifulSoup 对象,然后通过 BeautifulSoup 对象 的属性和方法提取出我们需要的数据。发现没有?BeautifulSoup 只需要一个网页源代码的字符串形式即可。

之前我们都是使用 requests 库获取网页源代码,并通过 text 属性取得其字符串形式。而 selenium 获取网页后的 page_source 属性值正是字符串格式的!

控制浏览器

我们主要关注 click()和 send_keys()这两个方法。通过 selenium查找元素的方法找到对应的元素后,调用其 click()方法就可以模拟点击该元素,一般用于点击链接或按钮;调用其send_keys()方法用于模拟按键输入,传入要输入的内容即可,常用于账号密码等输入框的表单填写。

time.sleep(2)# 找到用户名输入框user_login = browser.find_element('id', 'user_login')# 输入用户名user_login.send_keys('codetime')# 找到密码输入框user_pass = browser.find_element('id', 'user_pass')# 输入密码user_pass.send_keys('shanbay520')# 找到登录按钮wp_submit = browser.find_element('id', 'wp-submit')# 点击登录按钮wp_submit.click()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_988136.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

普中51单片机学习(LCD1602)

LCD1602 1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号的点阵型液晶模块。它是由若干个5x7或者5x10的点阵字符位组成,每个点阵字符位都可以用显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔&#…

Home Assistant:基于Python的智能家居开源系统详解

Home Assistant:基于Python的智能家居开源系统详解 在数字化和智能化的时代,智能家居系统成为了现代家庭的新宠。它们能够让我们更加方便地控制家中的各种设备,实现自动化和个性化的居住体验。其中,Home Assistant作为一款基于Pyt…

Linux Shell脚本练习(一)

一、 Linux下执行Shell脚本的方式: 1、用shell程序执行脚本: a、根据你的shell脚本的类型,选择shell程序,常用的有sh,bash,tcsh等 b、程序的第一行#!/bin/bash里面指明了shell类型的,比如#!/…

【行业科普】常见的边缘计算产品有哪些?主要应用于哪些场景?

之前的几期科普文给大家介绍了什么是边缘计算,以及它的优势、应用场景等内容。有兴趣的可以戳链接再了解一下。(【行业科普】边缘计算有多强?一起了解它的优势及其5大典型应用!)今天我们再来了解一下常见的边缘计算产品…

C# 获取类型 Type.GetType()

背景 C#是强类型语言,任何对象都有Type,有时候需要使用Type来进行反射、序列化、筛选等,获取Type有Type.GetType, typeof(),object.GetType() 等方法,本文重点介绍Type.GetType()。 系统类型/本程序集内的类型 对于系…

2023年全国职业院校技能大赛中职组大数据应用与服务赛项题库参考答案陆续更新中,敬请期待…

2023年全国职业院校技能大赛中职组大数据应用与服务赛项题库参考答案陆续更新中,敬请期待… 武汉唯众智创科技有限公司 2024 年 2 月 联系人:辜渝傧13037102709 题号:试题01 模块三:业务分析与可视化 (一&#xff0…

基于springboot+vue的党员教育和管理系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

SOLIDWORKS参数化设计之工程图更新 慧德敏学

SOLIDWORKS参数化设计不仅仅包括三维模型的参数化设计,还包括工程图的自动更新,由于自动出图仍然存在一定的局限性,不能完美的实现视图的布局及尺寸的标注,因此,现阶段采用的最多的仍然是图纸的更新,也就是…

创作纪念日【第1024天】的感触与期待

我的创作纪念日 1.机缘2.日常3.成就4.收获5.憧憬 1.机缘 2021年的04月份进入新行业了,公司不让用自己的电脑进行办公,也不能带自己的设备,之前记录的笔记查看不太方便,所以想着弄个博客,也尝试过云笔记,最…

Java根据excel模版导出Excel(easyexcel、poi)——含项目测试例子拿来即用

Java根据excel模版导出Excel(easyexcel、poi)——含项目测试例子拿来即用 1. 前言1.1 关于Excel的一般导出2.2 关于easyexcel的根据模版导出 2. 先看效果2.1 模版2.2 效果 3. 代码实现(核心代码)3.1 项目代码结构3.2 静态填充例子…

Springboot项目中定时任务的四种实现方式

文章目录 1. 使用Scheduled注解1.1 时间间隔执行1.2 固定时间点执行 2. 使用EnableScheduling注解启用定时任务3. 实现SchedulingConfigurer接口4. 使用Quartz框架4.1 配置QuartzScheduler4.2 定义Job类和Trigger类 5. 总结 在开发现代应用时,定时任务是一个非常常见…

Peter算法小课堂—动态规划

Peter来啦,好久没有更新了呢 今天,我们来讨论讨论提高组的动态规划。 动态规划 动态规划有好多经典的题,有什么背包问题、正整数拆分、杨辉三角……但是,如果考到陌生的题,怎么办呢?比如说2000年提高组的…

压缩视频大小的软件有哪些?5款软件推荐

压缩视频大小的软件有哪些?随着高清摄像设备的普及和网络速度的不断提升,视频文件变得越来越庞大,动辄数百兆甚至数GB的大小常常让用户在分享和存储时感到头疼。幸运的是,市面上有许多优秀的视频压缩软件可以帮助我们轻松应对这一…

国产服务器操作系统

为何记录 最近的开发工作经常接触到国产服务器操作系统的业务,经常被x86、arm、龙芯、鲲鹏、欧拉...搞得一脸懵逼,遂记之! 操作系统 这里按照应用场景分: 桌面操作系统:主要用于pc,如Windows、macOS、Li…

SpringMVC01、回顾MVC

1、回顾MVC 1.1、什么是MVC MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑间的双向偶合。MVC不是一种设计模式,MVC是一种架构模式。…

ETL数据仓库的使用方式

一、ETL的过程 在 ETL 过程中,数据从源系统中抽取(Extract),经过各种转换(Transform)操作,最后加载(Load)到目标数据仓库中。以下是 ETL 数仓流程的基本步骤&#xff1a…

【物联网应用案例】智能农业的 9 个技术用例

一、农业中的物联网用例 一般而言,农业物联网传感器以及农业物联网应用有多种类型: 1. 气候条件监测 气象站无疑是当今智能农业领域最受欢迎的设备。这款设备集成了多种智能农业传感器,能够在现场对各类数据进行收集,然后迅速将…

动态规划--(算法竞赛、蓝桥杯)--二维费用背包

1、B站视频链接&#xff1a;E15 背包DP 二维费用背包_哔哩哔哩_bilibili #include <bits/stdc.h> using namespace std; int f[101][101]; //f[j][k]第i件物品&#xff0c;体积<j,重量<k的最大价值int main(){int n,V,W;//物品、容量、承重int v,w,val;//体积、重…

搜索算法(算法竞赛、蓝桥杯)--DFS迭代加深

1、B站视频链接&#xff1a;B25 迭代加深 Addition Chains_哔哩哔哩_bilibili 题目链接&#xff1a;Addition Chains - 洛谷 #include <bits/stdc.h> using namespace std; int n,d;//d为搜索的深度 int a[10005];//存储加成的序列bool dfs(int u){//搜索第u层 if(ud)r…

应急响应-常规处置办法

网站中被植入Webshell&#xff0c;通常代表着网站中存在可利用的高危漏洞&#xff0c;攻击者利用这些漏洞&#xff0c;将Webshell写入网站&#xff0c;从而获取网站的控制权。一旦在网站中发现webshell文件&#xff0c;可采取以下步骤进行临时处置。 入侵确定时间 通过在网站…