首页 > 其他分享 >selenium爬虫2

selenium爬虫2

时间:2024-08-29 19:15:20浏览次数:4  
标签:浏览器 -- selenium 爬虫 无头 options select

无头浏览器简介

无头浏览器(Headless Browser)是一种没有图形用户界面的浏览器,它在后台运行,不会显示任何窗口或界面。无头浏览器通常用于自动化任务,如网页抓取、自动化测试和性能监控等。

爬取票房

比如我要爬取上图的2008--2024年的热门电影票房排名

from selenium import webdriver
from selenium.webdriver.common.by import By
import time
from selenium.webdriver.support.ui import Select
from selenium.webdriver.chrome.options import Options

options = Options()# 添加配置
options.add_argument('--headless')
options.add_argument('--disable-gpu')
# 初始化浏览器驱动
driver = webdriver.Chrome(options=options)
# 打开
driver.get("http://www.endata.com.cn/BoxOffice/BO/Year/index.html")
sel_el=driver.find_element(By.XPATH,'/html/body/section/div/div[2]/div/div/div[1]/select') # 定位select标签
sel=Select(sel_el)
for s in range(len(sel.options)):
    sel.select_by_index(s)
    time.sleep(1.5)
    table=driver.find_element(By.XPATH,'//*[@id="TableList"]/table')
    print(table.text)
input("Enter to quit")
driver.quit()

--headless

含义:--headless 选项用于启用无头模式。
作用:当这个选项被添加到浏览器启动参数中时,浏览器将以无头模式运行,即没有图形用户界面(GUI)。这意味着浏览器不会显示任何窗口或界面,但仍然可以执行所有正常的浏览器操作,例如加载页面、执行 JavaScript 等。
用途:无头模式特别适合用于自动化测试、网页抓取和服务器环境下的任务,因为它更高效且不需要显示图形界面。

--disable-gpu

含义:--disable-gpu 选项用于禁用 GPU 硬件加速。
作用:某些情况下,无头模式下的浏览器可能会遇到与 GPU 硬件加速相关的问题。通过禁用 GPU,可以避免这些潜在的问题,确保浏览器在无头模式下稳定运行。
用途:虽然现代浏览器在无头模式下通常会自动处理 GPU 问题,但显式地禁用 GPU 可以增加兼容性,特别是在不同的操作系统和硬件配置上。

关于下拉菜单

网页上的下拉菜单的html代码:

<div class="time-sel">

<select id="OptionDate" class="select-time-wrap ml10 mr10">
<option value="2024">2024年</option>
<option value="2023">2023年</option>
<option value="2022">2022年</option>
<option value="2021">2021年</option>
<option value="2020">2020年</option>
<option value="2019">2019年</option>
<option value="2018">2018年</option>
<option value="2017">2017年</option>
<option value="2016">2016年</option>
<option value="2015">2015年</option>
<option value="2014">2014年</option>
<option value="2013">2013年</option>
<option value="2012">2012年</option>
<option value="2011">2011年</option>
<option value="2010">2010年</option>
<option value="2009">2009年</option>
<option value="2008">2008年</option>
</select>
</div>

select_by_index(self,index) #按选项索引选择,从零开始
select_by_value(self,value) #按选项标签的value属性值选择,上面是2008、2009、2010等
select_by_visilbe_text(self,text) #按下拉选项option标签的内容选择,如2022年、2020年

效果

标签:浏览器,--,selenium,爬虫,无头,options,select
From: https://www.cnblogs.com/hackzz/p/18387426

相关文章

  • 爬虫katana结合指纹识别
    这个Go程序的功能是识别给定URL所使用的网站内容管理系统(CMS)。其主要逻辑如下:1.并发发送HTTP请求:使用sendGetRequest函数发送HTTPGET请求到指定的URL,跳过SSL/TLS证书验证。通过goroutines并发处理多个URL。2.响应处理:extractBodyAndHeader函数从HTTP响应中提取响应体和......
  • selenium爬虫学习1
    简介Selenium是广泛使用的模拟浏览器运行的库,它是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样,并且支持大多数现代Web浏览器。函数介绍重点方法1.find_element方法是SeleniumWebDriver提供的一种用于查找页面上某个符合条......
  • 基于 Selenium 的 Python 自动化测试框架
    SeleniumBase:功能全面的浏览器自动化框架。该项目是基于Selenium的Python自动化测试框架,集成了爬虫、自动化测试和生成报告等多种功能。它提供了丰富的示例,并且独特的UC模式,可以帮助开发者在进行浏览器自动化操作时避免被检测出来。from seleniumbase import BaseCaseBa......
  • 学习爬虫day29-瑞数动态安全
    过瑞数的基本方法:自动化工具(非常NB,如:selenuim,playwrite),补环境,纯算;浏览器开无痕模式今天学习深圳大学的案例。1、解决无限dubugger:断点设置:一律不在此处暂定(debugger),注入js,重写debugger;方法一:控制台输入以下代码并执行let_Function=function;Function=function(s){if......
  • 【爬虫实战】——利用bs4和sqlalchemy操作mysql数据库,实现网站多行数据表格爬取数据
    前言此篇接上一篇的内容,在其基础上爬取网站的多行表格数据,以及把数据写入到mysql数据库中目录一、定位表格查找元素二、提取数据三、写入mysql数据库四、附录一、定位表格查找元素首先打开网站,如图需要爬取多行数据的表格,利用查找元素定位,看图中分析得知我要爬取的是tr......
  • 常见网页爬虫
    1.Baiduspider百度爬虫"Mozilla/5.0(compatible;Baiduspider/2.0;+http://www.baidu.com/search/spider.html)Baiduspider-render"Mozilla/5.0(iPhone;CPUiPhoneOS9_1likeMacOSX)AppleWebKit/601.1.46(KHTML,likeGecko)Version/9.0Mobile/13B1......
  • 新手网络爬虫利器介绍 之 移动蜂窝网络代理
    移动蜂窝代理对接说明在爬虫与反爬虫斗争愈演愈烈的情况下,各大网站和App的风控检测越来越强,其中一项就是IP封禁。为了解决IP封禁的困扰,一个有效的方式就是设置代理,设置代理之后,爬虫可以借助代理的IP来伪装自己的真实IP地址,从而突破反爬虫的限制。但代理的质量......
  • 分享一个基于Python的程序员薪资数据分析可视化与岗位推荐系统flask爬虫毕设(源码、调
    ......
  • 关于shadow-root影子控件的selenium ui自动化
    首先这个控件和iframe有异曲同工之妙,也是嵌套的一个html,所以定位不能像普通定位一样下面实践一下首先准备一个root.html<!DOCTYPEhtml><html><head><title>带有shadow-root的页面</title></head><body><h1class="test">带有shadow-root的页面</h1>......
  • Python数据采集与网络爬虫技术实训室解决方案
    在大数据与人工智能时代,数据采集与分析已成为企业决策、市场洞察、产品创新等领域不可或缺的一环。而Python,作为一门高效、易学的编程语言,凭借其强大的库支持和广泛的应用场景,在数据采集与网络爬虫领域展现出了非凡的潜力。唯众特此推出《Python数据采集与网络爬虫技术实训......