chrome网页视频抓取(实践应用类(非知识讲解)本文介绍selenium库和chrome浏览器实现自动抓取网页元素)

优采云 发布时间: 2021-12-23 21:01

  chrome网页视频抓取(实践应用类(非知识讲解)本文介绍selenium库和chrome浏览器实现自动抓取网页元素)

  概括

  最后更新时间:2020.08.20(实验部分待更新)

  本文类型:实际应用(非知识讲解)

  本文介绍了selenium库和chrome浏览器自动抓取网页元素,定位并填写表单数据,可以实现自动填写,节省大量人力。为了方便使用selenium库,方便处理运行中的错误,本文将对selenium库进行一定程度的重新封装,以便读者在了解selenium库后能够快速上手编程。

  一、本文知识点:1.安装selenium库,2.selenium库查找元素的方式,3.重新打包selenium库

  二、本文结构:1.先简单介绍一下知识点,2.把复制后可以直接运行的调试代码以完整段落的形式贴出来,让读者可以调试发布的每一段代码。

  三、 本文方法实现:以百度主页为控制网页,以谷歌浏览器为实验平台,使用python+selenium进行网页操作。ps:其他对应的爬网实验会更新。

  四、本文实验:1.

  后台自动登录*敏*感*词*

  , 2.

  后台QQ邮箱阅读最新邮件

  , 等待其他实验更新(均提供详细代码和注释,文末有对应链接)

  温馨提示:以下为本文文章内容,以下案例可供参考

  一、安装selenium库及相关文件

  Selenium 库是python 爬取网站 的自动化工具。支持的浏览器包括Chrome、Firefox、Safari等主流界面浏览器。它还支持Windows、Linux、IOS、Android等多种操作系统。

  1.安装硒库

  (1)点击win10的开始菜单,直接输入cmd右键以管理员身份运行

  (2)如果安装python时勾选了添加路径的选项,可以直接输入命令

  pip 安装硒

  (如果没有添加,建议卸载python,重新安装,查看添加路径。这个建议慎选,因为需要重新安装之前下载的库)

  (3)网络连接下等待完成。如果提示超时,可以尝试以下命令切换下载源并重新安装:

  pip 安装硒 -i

  2.下载谷歌浏览器相关文件

  本文使用的浏览器是谷歌浏览器,所以只介绍谷歌浏览器的爬取方法。其他浏览器的方法类似。

  (1)

  点击下载谷歌浏览器

  (2)安装谷歌浏览器后,查看谷歌浏览器的版本号,点击谷歌浏览器右上角的三个点,选择——

  帮助

  ——

  关于谷歌浏览器

  ——

  查看版本号

  .

  如图,本文版本号为

  84.0.4147.125

  (3)

  点击下载谷歌浏览器驱动

  打开驱动下载页面,找到版本号对应的驱动版本,

  84.0.4147.125

  , 所以寻找

  84.0

  一开始点击打开驱动下载对应的系统驱动。然后将其解压到您要编写项目的文件夹中。

  不要放在python目录或者浏览器安装目录下。如果这样做,移植到另一台计算机时会出现各种BUG。根本原因是你的电脑已经安装了相应的库文件和驱动,但是端口是 电脑可能没有安装。

  二、selenium 快速入门

  1.元素定位的八种方式

  (1)

  ID

  (2)

  名称

  (3)

  路径

  (4)

  链接文字

  (5)

  部分链接文本

  (6)

  标签名称

  (7)

  班级名称

  (8)

  css 选择器

  2. id 方法

  (1) 在 selenium 中通过

  ID

  定位一个元素:

  find_element_by_id

  以百度的页面为例,其百度输入框的页面源码如下:

  ......

  在,

  是输入框的网页代码,

  百度网页代码

  通过id查找元素的代码和注释如下:

  导入操作系统

  导入系统

  导入时间

  从硒导入网络驱动程序

  ##此方法获取的工作文件夹路径在py文件下或封装exe后有效。##

  当前工作主路径 = os.path.dirname(os.path.realpath(sys.argv[0]))

  ##配置谷歌浏览器驱动器路径##

  Google Drive Drive = 当前工作主路径 + "/" + "chromedriver.exe"

  ##初始化硒控制##

  浏览器驱动程序 = webdriver.Chrome(executable_path=Google Drive 驱动程序)

  ##打开链接,改成其他网址,请注意开头##

  浏览器驱动程序.get("")

  ##按id搜索清除搜索框内容##

  浏览器 driver.find_element_by_id("kw").clear()

  ##搜索并按id输入搜索框内容##

  浏览器驱动.find_element_by_id("kw").send_keys("python+selenium库实现抓取网页数据内容并自动填表的解决方案,并附上已经交付给甲方的代码实际稳定运行")

  ##按id搜索,点击百度搜索##

  浏览器 driver.find_element_by_id("su").click()

  ##保持5s时间

  time.sleep(5)

  ###关闭并退出浏览器

  浏览器 driver.quit()

  3. 命名方法

  还是以百度输入框为例,通过selenium

  名称

  定位一个元素:

  find_element_by_name

  代码和注释如下:

  导入操作系统

  导入系统

  导入时间

  从硒导入网络驱动程序

  ##此方法获取的工作文件夹路径在py文件下或封装exe后有效。##

  当前工作主路径 = os.path.dirname(os.path.realpath(sys.argv[0]))

  ##配置谷歌浏览器驱动器路径##

  Google Drive Drive = 当前工作主路径 + "/" + "chromedriver.exe"

  ##初始化硒控制##

  浏览器驱动程序 = webdriver.Chrome(executable_path=Google Drive 驱动程序)

  ##打开链接,改成其他网址,请注意开头##

  浏览器驱动程序.get("")

  ##按名称搜索清除搜索框内容##

  浏览器 driver.find_element_by_name("wd").clear()

  ##按名称搜索并输入搜索框的内容##

  浏览器驱动.find_element_by_name("wd").send_keys("python+selenium库实现爬虫抓取网页数据内容并自动填表的解决方案,并附上已经交付给甲方的代码实际稳定运行")

  ##按id搜索,点击百度搜索##

  浏览器 driver.find_element_by_id("su").click()

  ##保持5s时间

  time.sleep(5)

  ###关闭并退出浏览器

  浏览器 driver.quit()

  4. xpath 方式

  还是以百度输入框为例,通过selenium

  路径

  定位一个元素:

  find_element_by_xpath

  . 但是这种方法不适合在网页中的位置会发生变化的表格元素,因为xpath方法指向的是固定的行列,无法检测行列内容的变化。

  首先在谷歌浏览器中打开百度,在空白处

  鼠标右键

  ,选择

  检查 (N)

  有了这个选择,就可以进入网页的开发者模式了,如图。然后在百度输入框

  鼠标右键

  , 再次点击

  检查 (N)

  选择,可以发现右边代码框自动选中的部分已经变成了百度输入框的代码。最后,在右侧自动选中的代码片段

  右键点击

  -选择

  复制

  -选择

  复制 Xpath

  , 百度输入框

  路径

  为了

  //*[@id="kw"]

  , 百度

  路径

  为了

  //*[@id="su"]

  接下来,使用此值执行百度搜索。代码和注释如下。

  导入操作系统

  导入系统

  导入时间

  从硒导入网络驱动程序

  ##此方法获取的工作文件夹路径在py文件下或封装exe后有效。##

  当前工作主路径 = os.path.dirname(os.path.realpath(sys.argv[0]))

  ##配置谷歌浏览器驱动器路径##

  Google Drive Drive = 当前工作主路径 + "/" + "chromedriver.exe"

  ##初始化硒控制##

  浏览器驱动程序 = webdriver.Chrome(executable_path=Google Drive 驱动程序)

  ##打开链接,改成其他网址,请注意开头##

  浏览器驱动程序.get("")

  ##通过xpath搜索清除搜索框内容,注意单引号和双引号的混合使用##

  浏览器 driver.find_element_by_xpath('//*[@id="kw"]').clear()

  ##通过xpath搜索并输入搜索框的内容,注意单引号和双引号的混合使用##

  Browser driver.find_element_by_xpath('//*[@id="kw"]').send_keys("python+selenium库实现了爬虫抓取网页数据内容并自动填表的解决方案,并附有实际稳定性已交付给甲方运行代码")

  ##通过xpath搜索,点击百度搜索,注意单引号和双引号的混合使用##

  浏览器 driver.find_element_by_xpath('//*[@id="su"]').click()

  ##保持5s时间

  time.sleep(5)

  ###关闭并退出浏览器

  浏览器 driver.quit()

  5. 链接文本和部分链接文本方法

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线