【安全合规】python爬虫从0到1 -selenium的基本使用

简介: python爬虫从0到1 -selenium的基本使用

前言

当我们使用urllib来访问浏览器时,并不是都可以获取完全的网页源码,urllib的功能主要是模拟浏览器向服务器发送请求,而selenium则是直接在浏览器中打开网页。就像真实的浏览器在运行。接下来我们一起进入selenium的学习。

文章目录前言

前言

(一)什么是selenium

(二)为什么使用selenium

(三)selenium的安装

1.浏览器驱动下载

2.selenium安装

3.selenium的简单使用

(四)selenium的元素定位

1.通过id来找到对象

2.根据标签属性的属性值来找到对象

3.根据xpath语句来获取对象

4.根据bs4语法来获取对象

5.根据标签名字来获取对象

6.通过当前页面中的链接文本来获取对象

(五)selenium访问元素信息

1.获取元素属性的属性值

2.获取标签名

3.获取元素文本

(六)selenium中的交互

1.点击

2.输入

3.后退操作

4.前进操作

5.模拟js滚动

6.获取网页代码

7.退出

实例


(一)什么是selenium

selenium是一个用于web应用程序测试的工具。

selenium测试直接运行在浏览器中,就像真实的用户操作一样。

支持通过各种driver(FirfoxDriver,IEDeriver,operaDriver,chromeDriver)驱动真实浏览器去完成测试。

selenium也是支持无界面浏览器操作的。

(二)为什么使用selenium

模拟浏览器功能,自动执行网页中的js代码,实现动态加载。


(三)selenium的安装

1.浏览器驱动下载

  1. 谷歌浏览器驱动下载地址image.png
  2. FireFox驱动下载地址
  • image.png
  1. IE驱动下载地址image.png

这里根据自己使用的浏览器和版本下载对应的驱动版本。

安装好之后为zip文件,需要进行解压并拖进pycharm当前路径方便使用

2.selenium安装

image.png

3.selenium的简单使用


from selenium import webdriver
# 驱动的路径
path = 'chromedriver.exe'
# 模拟真实的浏览器
browser =webdriver.Chrome(path)
url = "https://baidu.com"
browser.get(url)
# page_source用来获取网页源码
content = browser.page_source
print(content)

(四)selenium的元素定位

元素定位即自动化要做的就是模拟鼠标和键盘来操作这些元素,点击,输入等等,操作这些元素前首先要找到他们,webdriver提供很多定位元素的方法。

以下有6种方法:

1.通过id来找到对象

button = browser.find_element_by_id('su')

2.根据标签属性的属性值来找到对象

button = browser.find_element_by_class_name('wd')

3.根据xpath语句来获取对象

button = browser.find_element_by_xpath('//input[@id="su"]')

4.根据bs4语法来获取对象

button = browser.find_element_by_css_selector('#su')

5.根据标签名字来获取对象

button = browser.find_element_by_tag_name('input')

6.通过当前页面中的链接文本来获取对象

button = browser.find_element_by_link_text('新闻')

(五)selenium访问元素信息

例:

image.png

1.获取元素属性的属性值

image.png

button = browser.find_element_by_id('su')
# 获取元素属性值
content = button.get_attribute('class')
print(content)

image.png

button = browser.find_element_by_id('su')
# 获取标签名
content = button.tag_name
print(content)


运行结果:

image.png

3.获取元素文本image.png

button = browser.find_element_by_link_text('新闻')
# 获取元素文本
content = button.text
print(content)


运行结果:


image.png

(六)selenium中的交互

1.点击image.png2.输入image.png3.后退操作image.png4.前进操作image.png5.模拟js滚动image.png6.获取网页代码image.png7.退出image.png

实例

from selenium import webdriver
import time
path = 'chromedriver.exe'
browser = webdriver.Chrome(path)
url = 'https://baidu.com'
browser.get(url)
# 在搜索框内输入内容
input = browser.find_element_by_id('kw')
input.send_keys('钢铁是怎样炼成的')
time.sleep(3)
# 找百度一下按钮并点击
button = browser.find_element_by_id('su')
button.click()
time.sleep(2)
# 滑倒底部
move = 'document.documentElement.scrollTop=100000'
browser.execute_script(move)
time.sleep(2)
# 查找下一页按钮并点击
next = browser.find_element_by_xpath('//a[@class="n"]')
next.click()
# 返回
browser.back()
# 前进
browser.forward()
# 退出
browser.quit()
相关文章
|
3月前
|
数据采集 存储 XML
Python爬虫:深入探索1688关键词接口获取之道
在数字化经济中,数据尤其在电商领域的价值日益凸显。1688作为中国领先的B2B平台,其关键词接口对商家至关重要。本文介绍如何通过Python爬虫技术,合法合规地获取1688关键词接口,助力商家洞察市场趋势,优化营销策略。
|
4月前
|
数据采集 Web App开发 监控
高效爬取B站评论:Python爬虫的最佳实践
高效爬取B站评论:Python爬虫的最佳实践
|
4月前
|
数据采集 缓存 定位技术
网络延迟对Python爬虫速度的影响分析
网络延迟对Python爬虫速度的影响分析
|
13天前
|
数据采集 Web App开发 存储
打造高效的Web Scraper:Python与Selenium的完美结合
本文介绍如何使用Python结合Selenium,通过代理IP、设置Cookie和User-Agent抓取BOSS直聘的招聘信息,包括公司名称、岗位、要求和薪资。这些数据可用于行业趋势、人才需求、企业动态及区域经济分析,为求职者、企业和分析师提供宝贵信息。文中详细说明了环境准备、代理配置、登录操作及数据抓取步骤,并提醒注意反爬虫机制和验证码处理等问题。
打造高效的Web Scraper:Python与Selenium的完美结合
|
13天前
|
数据采集 存储 数据挖掘
深入剖析 Python 爬虫:淘宝商品详情数据抓取
深入剖析 Python 爬虫:淘宝商品详情数据抓取
|
16天前
|
存储 数据采集 数据库
Python爬虫实战:股票分时数据抓取与存储
Python爬虫实战:股票分时数据抓取与存储
|
2月前
|
数据采集 JSON 数据格式
Python爬虫:京东商品评论内容
京东商品评论接口为商家和消费者提供了重要工具。商家可分析评论优化产品,消费者则依赖评论做出购买决策。该接口通过HTTP请求获取评论内容、时间、点赞数等数据,支持分页和筛选好评、中评、差评。Python示例代码展示了如何调用接口并处理返回的JSON数据。应用场景包括产品优化、消费者决策辅助、市场竞争分析及舆情监测。
|
2月前
|
数据采集 供应链 API
Python爬虫与1688图片搜索API接口:深度解析与显著收益
在电子商务领域,数据是驱动业务决策的核心。阿里巴巴旗下的1688平台作为全球领先的B2B市场,提供了丰富的API接口,特别是图片搜索API(`item_search_img`),允许开发者通过上传图片搜索相似商品。本文介绍如何结合Python爬虫技术高效利用该接口,提升搜索效率和用户体验,助力企业实现自动化商品搜索、库存管理优化、竞品监控与定价策略调整等,显著提高运营效率和市场竞争力。
103 3
|
3月前
|
数据采集 JSON API
如何利用Python爬虫淘宝商品详情高级版(item_get_pro)API接口及返回值解析说明
本文介绍了如何利用Python爬虫技术调用淘宝商品详情高级版API接口(item_get_pro),获取商品的详细信息,包括标题、价格、销量等。文章涵盖了环境准备、API权限申请、请求构建和返回值解析等内容,强调了数据获取的合规性和安全性。
|
3月前
|
数据采集 存储 缓存
如何使用缓存技术提升Python爬虫效率
如何使用缓存技术提升Python爬虫效率

热门文章

最新文章