广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python实现selenium网络爬虫的方法小结
  • 331
分享到

python实现selenium网络爬虫的方法小结

2024-04-02 19:04:59 331人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行javascript代码的问题,selenium本质是通过驱动浏览器,完全模拟浏览器

selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行javascript代码的问题,selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器,这里只用到谷歌浏览器。

1.selenium初始化

方法一:会打开网页


# 该方法会打开Goole网页
from selenium import WEBdriver
url = '网址'
driver = webdriver.Chrome()
driver.get(url)
driver.maximize_window() # 实现窗口最大化

方法二:不会打开网页


# 该方法会隐式打开goole网页
from selenium import webdriver
url = '网址'
driver = webdriver.ChromeOptions()
driver.add_argument("headless")
driver = webdriver.Chrome(options=driver)
driver.get(url)

driver = webdriver.Chrome()出错是因为没有chromedriver.exe这个文件

2.元素定位

在selenium中,可以有多种方法对元素进行定位,个人通常喜欢用Xpath和selector来定位元素,这样就不用一个一个的去找节点,直接在网页上定位到元素复制就行。


driver.find_element_by_id() # 通过元素ID定位
driver.find_element_by_name() # 通过元素Name定位
driver.find_element_by_class_name() # 通过类名定位
driver.find_element_by_tag_name() # 通过元素TagName定位
driver.find_element_by_link_text() # 通过文本内容定位
driver.find_element_by_partial_link_text()
driver.find_element_by_xpath() # 通过Xpath语法定位
driver.find_element_by_CSS_selector() # 通过选择器定位

注:若寻找多个元素,要记得用复数来选择(element改为elements)


# 例如
[i.text for i in driver.find_elements_by_xpath()]

3.建立点击事件

因为有些网站的需求,需建立点击事件,
如下图的这种时间选择,需要设置点击和输入内容,设置的方法也很简单。


driver.find_element_by_css_selector('').click() # 点击
driver.find_element_by_css_selector('').send_keys('2021-3-9') # 输入内容

4.切换窗口

有些网站点击之后会产生新窗口,这时就需要进行窗口的切换才能进行元素定位


win = driver.window_handles # 获取当前浏览器的所有窗口
driver.switch_to.window(win[-1]) # 切换到最后打开的窗口
driver.close() # 关闭当前窗口
driver.switch_to.window(win[0]) # 切换到最初的窗口

5.iframe问题

有些网站会采用iframe来编写页面,这时就需要进入到iframe才可以获取元素,一般有多少个iframe就需要进入多少个iframe。


# 有两个iframe,需逐步进入
iframe1 = driver.find_element_by_xpath('')
driver.switch_to.frame(iframe1)
iframe2 = driver.find_element_by_xpath('')
driver.switch_to.frame(iframe2)

到此这篇关于python实现selenium网络爬虫的文章就介绍到这了,更多相关Python selenium网络爬虫内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python实现selenium网络爬虫的方法小结

本文链接: https://www.lsjlt.com/news/121465.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python实现selenium网络爬虫的方法小结
    selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题,selenium本质是通过驱动浏览器,完全模拟浏览器...
    99+
    2022-11-11
  • 怎么在python中使用selenium实现一个网络爬虫
    本篇文章为大家展示了怎么在python中使用selenium实现一个网络爬虫,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科...
    99+
    2023-06-08
  • python网络爬虫selenium打开多窗口与切换页面的方法
    这篇“python网络爬虫selenium打开多窗口与切换页面的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“pytho...
    99+
    2023-06-29
  • Python爬虫基础之selenium库的用法总结
    目录一、selenium简介二、selenium基本用法三、常用用法四、cookie的设置、获取与删除五、文件的上传与下载 文件上传upload六、窗口的切换七、项目实战一、selenium简介 官网 总的来说: ...
    99+
    2022-06-02
    Python selenium库用法 python爬虫
  • python网络爬虫selenium打开多窗口与切换页面的实现
    关于python网络爬虫selenium打开多窗口与切换页面的方法代码测试与解析。 首先打开百度 from selenium import webdriver import time...
    99+
    2022-11-13
  • 网络爬虫结合ip代理的使用方法
    这篇文章主要讲解了“网络爬虫结合ip代理的使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“网络爬虫结合ip代理的使用方法”吧!说到网络爬虫,大家都会很熟悉,因为网络爬虫实际上一直在我们...
    99+
    2023-06-20
  • Python Selenium自动化爬虫的方法是什么
    本篇内容主要讲解“Python Selenium自动化爬虫的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python Selenium自动化爬虫的方法是什么”吧!简单介绍:Selen...
    99+
    2023-06-28
  • python 网络爬虫初级实现代码
    首先,我们来看一个Python抓取网页的库:urllib或urllib2。 那么urllib与urllib2有什么区别呢? 可以把urllib2当作urllib的扩增,比较明显的优势是urllib2.url...
    99+
    2022-06-04
    爬虫 代码 网络
  • python网络爬虫之如何伪装逃过反爬虫程序的方法
    有的时候,我们本来写得好好的爬虫代码,之前还运行得Ok, 一下子突然报错了。 报错信息如下: Http 800 Internal internet error 这是因为你的对象网站设置了反爬虫程序,如果用现...
    99+
    2022-06-04
    爬虫 逃过 程序
  • Python网络爬虫出现乱码问题的解决方法
    关于爬虫乱码有很多各式各样的问题,这里不仅是中文乱码,编码转换、还包括一些如日文、韩文 、俄文、藏文之类的乱码处理,因为解决方式是一致的,故在此统一说明。 网络爬虫出现乱码的原因 源网页编码和爬取下来后...
    99+
    2022-06-04
    爬虫 解决方法 出现乱码
  • 结合Python网络爬虫做一个今日新闻小程序
    核心代码 requests.get 下载html网页 bs4.BeautifulSoup 分析html内容 from requests import get from bs4 i...
    99+
    2022-11-12
  • 如何使用Python网络爬虫实现起点小说下载
    如何使用Python网络爬虫实现起点小说下载,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。今天要跟大家分享一个小说爬取案例--------起点小说的小说下载。在做这个案例之...
    99+
    2023-06-15
  • python学习-Selenium爬虫之使用代理ip的方法
     今天给大家分享的是如何在爬取数据的时候防止IP被封,今天给大家分享两种方法,希望大家可以认真学习,再也不用担心被封IP啦。第一种:降低访问速度,我们可以使用time模块中的sleep,使程序每运行一次后就睡眠1s,这样的话就可以...
    99+
    2023-06-02
  • Python爬虫的两套解析方法和四种爬虫实现
    【本文转载自微信公众号:数据科学家养成记,作者:louwill,转载授权请联系原作者】 对于大多数朋友而言,爬虫绝对是学习python的最好的起手和入门方式。因为爬虫思维模式固定,编程模式也相对简单,一般在细节处理上积累一些经验都...
    99+
    2023-06-02
  • 如何实现Python底层技术的网络爬虫
    如何使用Python实现网络爬虫的底层技术网络爬虫是一种自动化的程序,用于在互联网上自动抓取和分析信息。Python作为一门功能强大且易于上手的编程语言,在网络爬虫开发中得到了广泛应用。本文将介绍如何使用Python的底层技术来实现一个简单...
    99+
    2023-11-08
    Python 网络爬虫 底层技术
  • python淘宝爬虫的实现方法教程
    这篇文章主要介绍“python淘宝爬虫的实现方法教程”,在日常操作中,相信很多人在python淘宝爬虫的实现方法教程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python淘宝爬虫的实现方法教程”的疑惑有所...
    99+
    2023-06-25
  • python网络爬虫方向的第三方库有哪些
    爬虫方向第三方库:1、urllib3,一个Python HTTP库,安全连接池、支持文件post、可用性高;2、MechanicalSoup,一个与网站自动交互Python库;3、grab,一个基于pycurl/multicur的网络爬虫框...
    99+
    2022-07-11
    网络爬虫 python
  • python网络爬虫方向的第三方库是什么
    这篇文章主要介绍“python网络爬虫方向的第三方库是什么”,在日常操作中,相信很多人在python网络爬虫方向的第三方库是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python网络爬虫方向的第三方库...
    99+
    2023-07-02
  • Python爬虫代理IP池实现方法
    在公司做分布式深网爬虫,搭建了一套稳定的代理池服务,为上千个爬虫提供有效的代理,保证各个爬虫拿到的都是对应网站有效的代理IP,从而保证爬虫快速稳定的运行,当然在公司做的东西不能开源出来。不过...
    99+
    2022-06-04
    爬虫 方法 Python
  • 详解Python网络爬虫功能的基本写法
    网络爬虫,即Web Spider,是一个很形象的名字。把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。 1. 网络爬虫的定义 网络蜘蛛是通过网页的链接地址来寻找网页的。从网站某一个页面(...
    99+
    2022-06-04
    爬虫 写法 详解
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作