当前位置: 首页 > news >正文

wordpress 官方网站吉林省干部网络培训

wordpress 官方网站,吉林省干部网络培训,服装微商城网站建设,做电商平台网站有哪些前言 selenium框架是Python用于控制浏览器的技术,在Python爬虫获取页面源代码的时候,是最重要的技术之一,通过控制浏览器,更加灵活便捷的获取浏览器中网页的源代码。 还没有安装启动selenium的同志请先看我的上一篇文章进行配置启动 和 XPath基础 对selenium进行浏览器和驱动…前言 selenium框架是Python用于控制浏览器的技术,在Python爬虫获取页面源代码的时候,是最重要的技术之一,通过控制浏览器,更加灵活便捷的获取浏览器中网页的源代码。 还没有安装启动selenium的同志请先看我的上一篇文章进行配置启动 和 XPath基础 对selenium进行浏览器和驱动进行配置Windows | Linux_使用 selenium 进行谷歌-CSDN博客 Python爬虫 XPath 三方库lxml-CSDN博客 这里就直接从基础操作进行分享 目录 selenium打开和关闭网站 在打开网站时获取网站信息常用方法 使用selenium操作浏览器的常用方法 使用XPath定位浏览器具体地方常用方法 selenium等待页面加载技术 对浏览器交互操作常用方法 模拟真人的浏览器驱动常见配置 实战案例 selenium打开和关闭网站 #初始化浏览器驱动 driver webdriver.Chrome(serviceChromeService(ChromeDriverManager(driver_version谷歌浏览器版本).install()))#使用浏览器驱动打开网站 driver.get(https://www.example.com)#关闭浏览器 driver.quit() 在打开网站时获取网站信息常用方法 我们的操作都是使用浏览器驱动调用的,所以获取网站的方法都是浏览器驱动对象driver调用的 #获取网站的源代码 driver.page_source#获取网站的截图 driver.save_screenshot(图片的相对路径/图片名称带图片格式) 我们在爬虫使用这个工具就是为了获取网站源码和截图,后面过滤数据有专业的相关技术 对其他方法感兴趣有空可以看他的官方文档,编程知识太多了,只学调用方法最常用的和知道内部原理,遇到使用再对调用方法进行查询使用 使用selenium操作浏览器的常用方法 selenium操作浏览器本质上就是使用XPath对浏览器的具体地方进行定位,然后使用点击事件操作 XPath定位类似于你的鼠标移动的位置 点击、下滑事件类似于你使用鼠标进行点击、下滑等操作 使用XPath定位浏览器具体地方常用方法 注意: 这里编写的XPath只能写到到元素,不能直接获取标签的属性值和内容,可以认为类似于移动鼠标,后面得到这个标签对象才能再进行处理,不然会报错 不推荐使用其他方式进行元素定位,在实战中非常复杂,也只有XPath使用起来可以应对,而且XPath也是Python爬虫数据过滤的最重要的技术,这个一定要非常熟练 from selenium.webdriver.common.by import By#这个方法只返回一个标签对象 #这里XPath只能定位到标签,不能取具体的值,不然报错 title driver.find_element(By.XPATH,XPath表达式)#这个方法是以集合的形式返回多个标签对象,没有标签返回空集合不会报错,遍历使用 titles driver.find_elements(By.XPATH,XPath表达式)#返回了Web标签对象,我们就可以对这个标签对象上面的属性值和内容进行获取了 #获取这个Web标签的内容 title.text #获取这个Web标签中的属性值 title.get_attribute(属性名) selenium等待页面加载技术 等待,直到获取到自己需要的web才往下执行可以巧妙的解决网页加载时间长但是不知道设置多长等待时间的问题 from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import WebDriverWait#等待通过XPath获取的元素获取到之后再往下进行title WebDriverWait(driver, 最长等待时间).until(EC.presence_of_element_located((By.XPATH,XPath表达式)) ) 对浏览器交互操作常用方法 前面我们已经对需要操作的元素使用XPath进行获取了,接下来我们要对这个元素进行点击、输入表单文字等操作 ActionChains是一个链式操作,一直往下点就可以了以ActionChains(浏览器驱动对象)开头 perform()提交结尾 交互操作的库 from selenium.webdriver import ActionChains# 绑定到浏览器驱动对象 actions ActionChains(浏览器驱动对象)# 对前面使用XPath定位返回的Web元素对象进行操作# 左键点击 click(Web元素对象)# 双击 double_click(Web元素对象)# 右键点击 actions.context_click(Web元素对象)# 悬停在元素上 move_to_element(Web元素对象)# 相对当前位置移动 单位是像素 水平方向x向右为正,向左为负 垂直方向y向下为正,向上为负 move_by_offset(x, y)#使用鼠标从web起始元素拖拽到web目标元素 actions.drag_and_drop(web起始元素, web目标元素)#在web元素上面输入内容 send_keys(输入的内容)#中间可以加入停顿方法 pause(秒数)#提交,链式调用结尾 perform() 模拟真人的浏览器驱动常见配置 from selenium.webdriver.chrome.options import Optionsoptions Options() options.add_argument(user-agentMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36) options.add_argument(--window-size1920,1080) # 设置窗口大小 options.add_argument(--disable-blink-featuresAutomationControlled) # 禁用自动化控制特征 options.add_argument(--disable-infobars) # 禁用提示条 options.add_argument(--no-sandbox) # 解决DevToolsActivePort文件不存在的报错 options.add_argument(--disable-dev-shm-usage) # 禁用共享内存 options.add_argument(--disable-extensions) # 禁用扩展 options.add_argument(--disable-gpu) # 禁用GPU加速 options.add_argument(--disable-javascript) # 禁用JavaScript根据需求调整 options.add_argument(--incognito) # 隐身模式 options.add_argument(--headless) # 无头模式可选等调试好了可以设置为无头减少资源浪费driver webdriver.Chrome(serviceChromeService(ChromeDriverManager(driver_version谷歌浏览器版本).install()), optionsoptions) 实战案例 查看淘宝详情商品,商品详情页面需要登录状态才可以查看全部内容,点击淘宝详情页面上面的一键登录进行模拟登录之后,获取到该商品详情页面的全部源代码 后面就可以使用正则表达式和XPath过滤自己需要的数据了 from selenium import webdriver from selenium.webdriver.chrome.service import Service as ChromeService from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.common.by import By from selenium.webdriver import ActionChains from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.chrome.options import Options from selenium.webdriver.support import expected_conditions as EC# selenium 4的写法 #加入一些常用元素,模拟真人环境 options Options() options.add_argument(user-agentMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36) options.add_argument(--window-size1920,1080) # 设置窗口大小 options.add_argument(--disable-blink-featuresAutomationControlled) # 禁用自动化控制特征 options.add_argument(--disable-infobars) # 禁用提示条 options.add_argument(--no-sandbox) # 解决DevToolsActivePort文件不存在的报错 options.add_argument(--disable-dev-shm-usage) # 禁用共享内存 options.add_argument(--disable-extensions) # 禁用扩展 options.add_argument(--disable-gpu) # 禁用GPU加速 options.add_argument(--disable-javascript) # 禁用JavaScript根据需求调整 options.add_argument(--incognito) # 隐身模式#初始化浏览器驱动 driver webdriver.Chrome(serviceChromeService(ChromeDriverManager(driver_version谷歌浏览器版本).install()),optionsoptions) driver.get(淘宝的商品详情页面)#等待商品页面一键登录的按钮元素的出现就往下执行 loginHTML WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH,//span[classxM6AVLCbLn--loginBtn--_3aec1d3]))) #点击一键登录 actions ActionChains(driver).click(loginHTML).perform()#对登录界面的账号密码点击登录 #准备需要XPath定位的元素 usern driver.find_element(By.XPATH,//input[idfm-login-id]) pwd driver.find_element(By.XPATH,//input[idfm-login-password]) loginHb driver.find_element(By.XPATH,//button[classfm-button fm-submit password-login button-low-light])#使用准备号的元素对象操作浏览器登录,之间加入pause方法停顿更真实 ActionChains(driver).click(usern).pause(1).send_keys(淘宝账号).pause(0.5).perform() ActionChains(driver).click(pwd).pause(1).send_keys(淘宝密码).pause(0.5).perform() ActionChains(driver).click(loginHb).perform()#等待页面是否出现商品详情元素 #因为商品详情元素只有登录状态之后才有的,所以这里的效果等价于确定我浏览商品的时候已经登录完成了,后面对这个页面的源代码进行获取 resFlag WebDriverWait(driver, 30).until(EC.presence_of_element_located((By.XPATH,//div[classxM6AVLCbLn--tabDetailWrap--_3622a08]))) #获取页面源代码 print(driver.page_source) #关闭谷歌浏览器 driver.quit()
http://www.pierceye.com/news/499548/

相关文章:

  • 极速彩票网站建设创造网站需要多少钱
  • 不要域名能建网站么工作室建设规划
  • html网站首页图片切换一元购物网站怎么做
  • 焦作网站建设费用wordpress php最大输出变量
  • 移动端高端网站开发做私活的网站
  • 广东专业做网站浙江建设工程信息网高工评选
  • 当阳网站建设电话时尚类网站建设
  • 南平网站建设公司seo中文含义是什么
  • 重庆科技建设信息网站关键词做网站标题是什么意思
  • 潍坊中企动力做的网站怎么样哪个网站做黄金交易最好
  • 徐州金网网站建设西安网站建设制作公司
  • 中小企业网站建设好么做国外网站衣服码数要怎么写
  • 新浪做网站wordpress divi 主题
  • 微网站建设资讯网页游戏开发教程
  • 网站建设评估百度公司地址
  • python 做网站开发吗搜房网网站跳出率
  • 深圳企业模板网站建设做高性能的网站 哪门语言好
  • 网站后台不能上传微信公众平台网页版登陆
  • 广州网站营销seo费用成都建设网站那家好
  • 网站建设规划书结构简单wordpress
  • 域名注册网站哪个好山东淄博网络科技有限公司
  • 固始县网站建设培训怎么制作网站首页
  • 产品经理做网站三河市最新消息
  • 做新闻类网站需要什么资质如何外贸seo网站建设
  • 注册网站流程和费用百度seo关键词排名s
  • 做推广网站的去哪能买到有效资料苏州建设网站找网络公司
  • vs做网站如何输出怎么做flash网站
  • 网站做政务广告传媒公司简介ppt
  • 番茄网络营销策划方案seo网站培训
  • 自己做一网站高唐网页定制