python尚硅谷爬虫Selenium

这篇具有很好参考价值的文章主要介绍了python尚硅谷爬虫Selenium。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Selenium

1、什么是selenium

(1)Selenium是一个用于Web应用程序测试的工具。
(2)Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。
(3)支持通过各种driver(FirfoxDriver,IternetExplorerDriver,OperaDriver,ChromeDriver)驱动真实浏览器完成测试。
(4)selenium也是支持无界面浏览器操作的。`

2、为什么使用selenium

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

3、如何安装selenium
  • 操作谷歌浏览器驱动下载地址

    https://chromedriver.storage.googleapis.com/index.html

  • 谷歌驱动和谷歌浏览器版本之间的映射表

  • 查看谷歌浏览器版本
    谷歌浏览器右上角‐‐>帮助‐‐>关于

  • pip install selenium

4、selenium的使用步骤
  • 基本使用
    python 尚硅谷,爬虫,python,爬虫
# 导入selenium
from selenium import webdriver

# 创建浏览器操作对象

path='D:\wendang\爬虫\chromedriver.exe'

browser=webdriver.Chrome(path)

# 访问网址
url='https://www.jd.com'
browser.get(url)

# page_source获取网页源码数据
content=browser.page_source
print(content)
  • selenium的元素定位
    python 尚硅谷,爬虫,python,爬虫
from selenium import webdriver

path='D:\wendang\爬虫\chromedriver.exe'
browser=webdriver.Chrome(path)

url='https://www.baidu.com'
browser.get(url)

#元素定位

# 根据id找对象
button =browser.find_element_by_id('su')
# print(button)

# 根据标签的属性值来获取对象
button2=browser.find_elements_by_name('input')
# print(button2)

# 根据xpath语句获取对象
button3=browser.find_elements_by_xpath('//input[@id="su"]')
print(button3)

# 根据标签的名字来获取对象
button4=browser.find_element_by_tag_name('input')

# 使用bs4的语法实现获取对象
button5=button4.find_element_by_css_selector('#su')

# 获取连接文本
button6=browser.find_element_by_link_text('直播')
  • 访问元素信息

python 尚硅谷,爬虫,python,爬虫

from selenium import webdriver
path='D:\wendang\爬虫\chromedriver.exe'
browser=webdriver.Chrome(path)

url='https://www.baidu.com'
browser.get(url)

# 获取标签的属性
input=browser.find_element_by_id('su')
print(input.get_attribute('class'))
print(input.tag_name)
# 获取文本
a=browser.find_element_by_link_text('新闻')
print(a.text)

  • 交互
    python 尚硅谷,爬虫,python,爬虫
from selenium import webdriver
path='D:\wendang\爬虫\chromedriver.exe'
browser=webdriver.Chrome(path)

url='https://www.baidu.com'
browser.get(url)

import time
time.sleep(2)

# 获取文本框的对象
input=browser.find_element_by_id('kw')
# 文本框中输入蔡徐坤
input.send_keys('蔡徐坤')
time.sleep(2)
# 获取百度一下按钮
button=browser.find_element_by_id('su')
# 点击按钮
button.click()
time.sleep(2)

# 划到底部的滑动
js_botton='document.documentElement.scrollTop=10000'
browser.execute_script(js_botton)

time.sleep(2)

# 获取下一页按钮
next=browser.find_element_by_xpath('//a[@class="n"]')
# 点击下一页
next.click()
time.sleep(2)

# 回到上一页
browser.back()
time.sleep(2)

# 回去
browser.forward()
time.sleep(3)

# 退出
browser.quit()

二、Phantomjs

python 尚硅谷,爬虫,python,爬虫

  • 下载方式:PhantomJS 只能从它的官方网站下载,因为 PhantomJS 是一个功能完善的无界面浏览器而并非一个 Python 库,所以 PhantomJS 不像 Python 的其他库一样使用 pip 命令安装。

  • 使用方式:下载 PhantomJS 压缩包后解压得到 phantomjs.exe,把 phantomjs.exe 放到 python 当前项目目录下,通过Selenium调用PhantomJS来直接使用。

下载地址

from selenium import webdriver

path = 'phantomjs.exe'
browser = webdriver.PhantomJS(path)

url = 'https://www.baidu.com'
browser.get(url)

# browser.save_screenshot('baidu.jpg')

三、Chrome handless

Chrome-headless 模式, Google 针对 Chrome 浏览器 59版 新增加的一种模式,可以让你不打开UI界面的情况下使用 Chrome 浏览器,所以运行效果与 Chrome 保持完美一致。

  • 系统要求

python 尚硅谷,爬虫,python,爬虫

  • 基本使用配置

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    chrome_options = Options()
    chrome_options.add_argument('headless')
    chrome_options.add_argument('disable‐gpu')
    # 设置为自己chrome.exe的系统路径
    path = r'C:\Program Files\Google\Chrome\Application\chrome.exe'
    chrome_options.binary_location = path
    browser = webdriver.Chrome(chrome_options=chrome_options)
    
    url='https://www.baidu.com'
    browser.get(url)
    # browser.save_screenshot('baidu.png')
    
    # 封装
    def share_browser():
        chrome_options = Options()
        chrome_options.add_argument('headless')
        chrome_options.add_argument('disable‐gpu')
        # 设置为自己chrome.exe的系统路径
        path = r'C:\Program Files\Google\Chrome\Application\chrome.exe'
        chrome_options.binary_location = path
        browser = webdriver.Chrome(chrome_options=chrome_options)
        return browser
    browser=share_browser()
    

    如果出现**TypeError: init() got an unexpected keyword argument ‘chrome_options’**报错

    是因为你的selenium版本过高,把chrome_options换成options就行了文章来源地址https://www.toymoban.com/news/detail-727697.html

到了这里,关于python尚硅谷爬虫Selenium的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python爬虫基本功(一)--初识python爬虫与爬虫学习路径

    大家好,这里是Kaiser。👏👏今天想给大家介绍下python爬虫的知识,我将与大家一起去揭开python爬虫的神秘面纱,字不多敲,让我们进入今天的主题:初识python爬虫。 爬虫,又被称为网页蜘蛛,网络机器人,是一种按照一定的规则,自动的抓取万维网信息的程序或脚本,是搜

    2024年02月16日
    浏览(38)
  • 简单实现python爬虫功能(Python爬虫功能)

    这篇文章主要介绍了python实现简单爬虫功能的相关资料,感兴趣的小伙伴们可以参考一下 在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材。 我们最常规的做法就是通过鼠标右

    2024年02月07日
    浏览(43)
  • Python爬虫系列(二)——Python爬虫批量下载百度图片

    1. 前言 先贴代码 如果要使用上述程序的话,需要修改两个地方 : self.directory 这是本地存储地址,修改为自己电脑的地址,另外,**{}**不要删 spider.json_count = 10 这是下载的图像组数,一组有30张图像,10组就是三百张,根据需求下载 也可以去gitee仓库直接下载程序。 关于 py

    2023年04月08日
    浏览(32)
  • Python 爬虫(一):爬虫伪装

    对于一些有一定规模或盈利性质比较强的网站,几乎都会做一些防爬措施,防爬措施一般来说有两种:一种是做身份验证,直接把虫子挡在了门口,另一种是在网站设置各种反爬机制,让虫子知难而返。 我们知道即使是一些规模很小的网站通常也会对来访者的身份做一下检查

    2024年02月05日
    浏览(41)
  • python实现网络爬虫代码_python如何实现网络爬虫

    python实现网络爬虫的方法:1、使用request库中的get方法,请求url的网页内容;2、【find()】和【find_all()】方法可以遍历这个html文件,提取指定信息。 python实现网络爬虫的方法: 第一步:爬取 使用request库中的get方法,请求url的网页内容 编写代码[root@localhost demo]# touch demo.py [

    2024年01月20日
    浏览(33)
  • Python小知识 - Python爬虫进阶:如何克服反爬虫技术

    Python爬虫进阶:如何克服反爬虫技术 爬虫是一种按照一定的规则,自动抓取网页信息的程序。爬虫也叫网页蜘蛛、蚂蚁、小水滴,是一种基于特定算法的自动化程序,能够按照一定的规则自动的抓取网页中的信息。爬虫程序的主要作用就是从一个网站或者一个网页中抓取所需

    2024年02月09日
    浏览(34)
  • 【爬虫系列】Python 爬虫入门(2)

    接上篇,继续梳理 Python 爬虫入门的知识点。这里将重点说明,如何识别网站反爬虫机制及应对策略,使用 Selenium 模拟浏览器操作等内容,干货满满,一起学习和成长吧。 1.1 测试网站是否开启了反爬虫 随着互联网技术的日益革新,大多数的网站都会使用反爬虫机制。我们在

    2024年01月17日
    浏览(29)
  • 【python爬虫一】爬虫基础操作

    概念:是一种按照一定的规则,自动地抓取互联网上网页中相应信息(文本、图片等)的程序或脚本,然后把抓取的信息存储下来。 通用爬虫:把一整张页面源码数据进行爬取 聚焦爬虫:把页面中指定的数据进行爬取 增量式爬虫:监测网站数据更新的情况。 分布式爬虫:基

    2024年02月09日
    浏览(30)
  • 【Python】什么是爬虫,爬虫实例

     有s表示加密的访问方式 什么是爬虫 网络爬虫,是一种按照一定规则,自动抓取互联网信息的程序或者脚本。由于互联网数据的多样性和资源的有限性,根据用户需求定向抓取相关网页并分析已成为如今主流的爬取策略 爬虫可以做什么 你可以爬取图片,爬取自己想看的视频

    2024年02月02日
    浏览(74)
  • 手机Python爬虫教程:利用手机学习Python爬虫的终极指南

    在数字化时代,手机已经成为人们生活中不可或缺的一部分。而Python爬虫作为一种强大的数据获取工具,也受到越来越多人的关注。但是,是否可以利用手机进行Python爬虫学习呢?本文将介绍如何通过手机学习Python爬虫,为你打开一扇全新的学习之门。 1. 《Python爬虫入门教程

    2024年02月07日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包