python数据分析与可视化是什么,基于python的数据挖掘与可视化分析

  python数据分析与可视化是什么,基于python的数据挖掘与可视化分析

  在文章的前一部分,我们回顾了快速启动元素定位页面操作等待模式扩展程序加载。

  回顾

  本文将带你通过Python爬虫(1)介绍——的基本原理

  本文将带您了解Python crawler (2)对四种常见的基本爬虫方法的介绍。

  selenium爬虫之所以叫视觉爬虫

  主要是和前面提到的几种网页分析的爬虫方式进行比较。

  Selenium爬虫主要模拟人类的点击操作。

  可以观察到selenium驱动浏览器和操作浏览器的过程。

  类似于看别人帮你操纵电脑,类似于别人远程使用你的电脑。

  当然,selenium也有接口模式。

  快速入门selenium基本介绍:

  Selenium是一个完整的web应用程序测试系统,

  包括测试的记录(selenium IDE)、编写和运行(selenium远程控制)。

  和测试(硒网格)。

  Selenium Core基于JsUnit,

  它完全是用JavaScript编写的,所以可以在任何支持JavaScript的浏览器中使用。

  Selenium可以模拟真实的浏览器,自动化测试工具,支持多种浏览器。

  爬虫主要用于解决JavaScript渲染问题。

  用python写爬虫的时候,我们主要用selenium的Webdriver,

  #安装selenium库pip安装selenium#安装相应的浏览器驱动#我们可以先看看selenium支持哪些浏览器。Webdriver从Selenium导入WebDriver Print (help (webdriver))的方法如下。适用浏览器:包内容Android(包)BlackBerry(包)Chrome(包)Common(包)Edge(包)Firefox(包)IE(包)Opera(包)PhantomJS(包)Remote(包)Safari(包)Support(包)WebKit GTK(包)#这里我要说的是比较重要的Phantom JS,#PhantomJS是服务器端的JavaScript API,#基于WebKit,#它支持Web,但不支持浏览器。#它速度很快,原生支持各种Web标准:Dom处理、CSS选择器、JSON等等。#PhantomJS可用于驱动Google Chrome的下载地址,用于页面自动化、网络监控、网页截屏和无界面测试。

  注意对应的版本号,在chrome地址栏输入Chrome://version/即可查看自己的Chrome版本。

  我用的是蟒蛇。下载后,只需把它扔进anaconda3\Scripts文件夹。

  如果是pycharm、VScode等其他ide还是可以这样做的,但是是anaconda的集成python。

  简单测试

  从selenium导入webdriver# #声明浏览器对象browser 1=web driver . chrome()browser 2=web driver . Firefox()# #访问页面browser 1 . get( 3358 www . Baidu . com )Print(browser 1 . page _ source)#关闭当前窗口browser1.close()元素定位对页面进行操作,首先要做的是选择页面元素,

  下表显示了八种常见的元素定位方法。

  定位一个元素定位多个元素定位描述Find _ element _ by _ id Find _ elements _ by _ ID按元素ID定位Find _ element _ by _ name Find _ elements _ by _ XPath Find _ element S _ by _ XPath Find _ element _ by _ link _ text Find _ elements _ by _ link _ text Find _ elements _ by _ link _ text Find _ element _ by _ partial _ link _ text Find _ Elements _ by _ partial _ link _ t Locate by ext hyperlink text Find _ element _ by _ tag _ name Find _ Elements _ by _ tag _ name Locate by tag name Find _ element _ by _ class _ name Find _ Elements _ by _ class _ name Locate by class name Find _ element _ b Y _ css _ Selector Find _ Elements _ by _ CSS _ Selector由CSS选择器定位。 更详细的定位方法请参考:《史上最全!Selenium元素定位的30种方式》。

  第一页。表格填写

  #找到用户名并输入用户名user=drive . Find _ element _ by _ name(登录[用户名]) user.send _ keys(用户名)#找到密码并输入密码pwd=drive.find _ element _ by _ id(登录_密码)pwd.send _ keys(密码)#点击登录按钮登录drive . Find _ element _ by _ class _ name(登录_ BTN )。单击()2。窗户把手

  简单来说,句柄就是浏览器顶部每个窗口栏的唯一标识。

  #获取当前窗口的所有句柄handles=drive.window_handles#切换到第二个选项卡drive . Switch _ to . window(handles[2]) 操作完成 #关闭当前窗口driver.close() #切换到第一个选项卡页面drive . Switch _ to . window(handles[0])time . sleep(random . uniform(2,3)) 3 .URL加载和获取

  # urlload drive.get(url)#获取当前页面的url并断言current pageurl=driver . current _ URL 4。饼干加工

  Get_cookies:获取cookie信息add_cookie:添加cookie信息drive . get( 3358 www . Baidu . com )cookie={ name : foo , value : bar } drive . add _ cookie(cookie)drive . get _ cookie()现在等待模式

  无法确定网页元素何时可以完全加载。

  因此,网页元素的选择是困难的。

  此时,您需要设置wait(等待网页加载)。

  Selenium有两种等待方式:

  显式等待隐式等待1.显式等待

  显式等待是一种条件触发等待。

  在满足设定的条件之前,执行不会继续。

  您可以设置超时时间。如果元素在超时后没有被加载,将会抛出一个异常。

  从selenium导入webdriver从selenium.webdriver.support . wait导入web driver wait从selenium . web driver . support导入expected_conditions作为EC drive=webdriver。chrome()URL= http://www . Baidu . com/ drive . get(URL)try:web driver wait(self . driver,10)。直到(EC . presence _ of _ element _ located(By。ID,LoginForm [username]) #显示页面 http://www.baidu.com/等待上面的代码除了:print(%s page找不到元素 % loc )。

  并找到id为“LoginForm[用户名]”的元素

  将超时时间设置为10秒,默认情况下,webDriverWait会在500ms内检查该元素是否存在。

  Selenium提供了一些显示等待的内置方法,

  位于expected_conditions类中,详细信息请参见下表。

  内置方法函数title_is确定当前页面的标题是否等于预期内容title_contains确定当前页面的标题是否包含预期字符串presence_of_element_located确定是否向dom树中添加元素,

  这并不意味着元素必须是可见的。presence _ of _ all _ element _ located确定dom树中是否存在至少一个元素。visibility_of_element_located确定元素是否可见。visibility_of确定一个元素是否可见。invisibility _ of _ element _ located确定一个元素在dom树中是不存在还是不可见。text_to_be_present_in_element确定元素中的文本是否包含预期的字符串。text _ to _ be _ present _ in _ element _ value确定元素中的value属性是否包含预期的字符frame _ to _ be _ available _ and _ switch _ to _它确定帧是否可以接入。如果

  返回True和switch in,否则返回Falseelement_to_be_clickable来确定一个元素是否可见,是否是enable的staleness _ of。等待从dom树中移除元素。element_to_be_selected判断一个元素是否被选中,一般用于下拉列表element_located_to_be_selected判断一个元素是否被选中,一般用于下拉列表element_selection_state_to_be判断一个元素的选中状态是否符合预期。alert_is_present判断页面上是否存在提示框2.隐式等待0。

  隐式等待是当试图定位一个元素时,如果不能立即找到它,就等待一个固定的时间。

  类似于套接字超时,默认设置是0秒,相当于最大等待时间。

  在浏览器界面中的直观感受是:

  继续执行直到网页加载完毕(地址栏这个地方不是如下),

  在报告错误之前,网页加载超过了设定的等待时间。

  施用方式

  从Selenium导入web driver Drive=web driver . chrome()URL= 3358 www.baidu.com/#设置最大等待时间10秒Drive . implicit _ wait(10)Drive . get(URL)user=Drive . find _ element _ by _ name( LoginForm[username])3.线程休眠

  Time.sleep(time)是一种睡眠线程的常用方法。

  为了规避风险,我个人比较喜欢随机睡觉。

  time.sleep(random.uniform(4,5))

  扩展程序加载#设置应用扩展chrome _ options . add _ extension(extension _ path)#添加下载路径# Download.default_directory:设置下载路径profile . default _ content _ settings . popups:设置为0防止弹出prefs={ profile . default _ content _ settings . popups :0,download . default _ directory :tmp _ path } chrome _ options . add _ experimental _ options( prefs ,prefs)在最后一个拉票环节写入。

  最近,我参加了CSDN组织的“极客”原创博客大赛。

  经过重重筛选,终于上了50强榜单。

  原创不容易。帮我投一张免费票。

  支持:点击投票。

  谢谢大家!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 2020年高考成绩分布表,2020年高考成绩统计,数据分析2020年全国各省高考成绩分布情况
  • ,,python实现数据分析与建模
  • python3 数据分析,python数据分析课堂
  • 《数据思维》,数据分析的思维导图
  • python数据分析就业方向,python数据分析毕业论文
  • python数据分析数据清洗,python中数据清洗
  • 基于Python的数据可视化,python数据分析及可视化处理的第三方库
  • 利用python进行数据分析豆瓣,python数据分析基础和利用python进行数据分析
  • python数据分析数据清洗,用python进行数据清洗
  • python对excel表格数据的统计和分析,python进行excel数据分析
  • 从零开始学Python数据分析与挖掘,自学python数据分析
  • python数据分析结构思维导图,python组合数据类型思维导图
  • 关联规则分析案例,关联规则数据分析题,关联规则的实际案例数据
  • 数据分析与商业数据分析,120个Excel商业数据分析实战案例
  • python数据分析excel读写,python 读取excel数据
  • 留言与评论(共有 条评论)
       
    验证码: