Python网络爬虫技术 第4章 常规动态网页爬取.pptx

Python网络爬虫技术 第4章 常规动态网页爬取.pptx

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 常规动态网页爬取;;在浏览器中打开网站“”,按“F12”键调出Chrome开发者工具或者单击“更多工具”选项中的“开发者工具”选项。Chrome开发者工具中的元素面板上显示的是浏览器执行JavaScript之后生成的HTML源码。找到解决方案的第一条数据对应的HTML源码,如图所示。 ;还有另一种方法查看源码,右键单击鼠标页面,选择“查看页面源代码”,如图所示。 ;得到服务器直接返回的HTML源码,找到解决方案的第一条数据的信息,如图所示。 ;在浏览器中打开网站“”,按“F12”键调出Chrome开发者工具,找到“互联网+智慧城市 核心技术及行业应用”的HTML信息,如图所示。 ;在浏览器呈现的网页中,右键单击页面,单击“查看页面源代码”选项,在弹出的HTML源码中,查找“互联网+智慧城市 核心技术及行业应用”关键字,如图所示。 ;在确认网页是动态网页后,需要获取从网页响应中由JavaScript动态加载生成的信息,在Chrome浏览器中爬取“”网页的信息,步骤如下。 “F12”键打开“”网页的Chrome开发者工具,如图所示。 ;单击网络面板后,发现有很多响应。在网络面板中XHR是Ajax中的概念,表示XML-HTTP-request,一般Javascript加载的文件隐藏在JS或者XHR。通过查找发现,“”网页。 “新书”模块的信息在XHR的Preview标签中有需要的信息。在网络面板的XHR中,查看“/bookinfo”资源的Preview信息,可以看到网页新书的HTML信息,如图所示。 ;若需要爬取“”网页标题信息,则步骤如下。 单击“/bookinfo”资源的Headers标签,找到“Request URL”信息,如图所示。;打开“Request URL”URL网址信息,找到需要爬取的信息,如图所示。 爬取“”首页新书模块的书名、作者和价格,如代码 4?1所示。 ;;以Chrome浏览器的chromedrive补丁为例,在安装好Selenium 3.9.0之后,下载并安装chromedrive补丁的步骤如下。 在Selenium官网下载对应版本的补丁。下载如图所示的“Google Chrome Driver 2.36”文件,根据操作系统选择chromedrive文件。 将下载好的chromedrive.exe文件,存放至python安装根目录(与python.exe文件同一目录)即可。 ;Selenium Webdriver提供两种类型的等待——隐式和显式。显式的等待使网络驱动程序在继续执行之前等待某个条件的发生。隐式的等待使WebDriver在尝试定位一个元素时,在一定的时间内轮询DOM。在爬取“/search/books”网页有哪些信誉好的足球投注网站“Python编程”关键词过程中,用到了显示等待,本节主要介绍显示等待。显式等待是指定某个条件,然后设置最长等待时间。如果在这个时间还没有找到元素,那么便会抛出异常,在登录“/search/books”网页等待10秒。 WebDriverWait函数是默认每500毫秒调用一次ExpectedCondition,直到成功返回。ExpectedCondition的成功返回类型是布尔值,对于所有其他ExpectedCondition类型,则返回True或非Null返回值。如果在10秒内不能发现元素返回,就会在抛出TimeoutException异常。 WebDriverWait的语法使用格式如下。 ;HTML表单包含了表单元素,而表单元素指的是不同类型的input元素、复选框、单选按钮、提交按钮等。填写完表单后,需要提交表单。定位“有哪些信誉好的足球投注网站”按钮并复制该元素的selector,如图所示。 ;Selenium库中的execute_script方法能够直接调用JavaScript方法来实现翻页到底部、弹框等操作。比如在“/search/books”网页中通过JavaScript翻到页面底部,并弹框提示爬虫。 ;在页面中定位元素有多种策略。Selenium库提供了如表所示的方法来定位页面中的元素,使用find_element进行元素选取。在单元素查找中使用到了通过元素ID进行定位、通过XPath表达式进行定位、通过CSS选择器进行定位等操作。在多元素查找中使用到了通过CSS选择器进行定位等操作。 ;Selenium库的find_element的语法使用格式如下。 ;获取“/search/books”响应的网页有哪些信誉好的足球投注网站框架元素,如图所示。 ;查找“/search/books”网页第一行多个信息,复制到selector的信息是“#nav”如图所示。 ;在自动化Web浏览器时,不需要手动编写期望的条件类,也不必为自动化创建实用程序包,Selenium库提供了一些便利的判断方法如表 4?2所示,在爬取“/s

文档评论(0)

教育课件资源 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档