动态网页抓取(文章目录网络爬虫学习笔记(2)-1动态抓取 )

优采云 发布时间: 2021-11-17 01:19

  动态网页抓取(文章目录网络爬虫学习笔记(2)-1动态抓取

)

  文章内容

  网络爬虫学习笔记(2) 1 Information 2 Notes 2-1 动态爬虫概述

  在使用 JavaScript 时,很多内容并没有出现在 HTML 源代码中,因此抓取静态网页的技术可能无法正常工作。因此,我们需要使用两种技术进行动态网页爬取:通过浏览器评论元素解析真实网址和使用 selenium 模拟浏览器。

  2-2 通过浏览器查看元素 chrom 浏览器右键菜单“勾选”点击“网络”选项分析真实网页地址,然后刷新网页。此时,Network 将显示浏览器从 Web 服务器获取的所有文件。通常,此过程称为“数据包捕获”。

  

  找到真实的数据地址。选择需要的文件,点击Preview选项卡查看数据,在Headers选项卡中可以找到数据地址(即Request URL项)。

  

  获取到地址后,如果要爬取,只需将链接替换为3中找到的数据地址即可。 2-3 网页URL地址规律

  比如在一些URL地址中,有两个特别重要的变量offset和limit。Offset表示这个页面的第一个item是item的总数,limit代表每页的item数。基于此,书中给出了一个很好的例子(在这个例子中,不同页面的注释的真实地址只反映在偏移量上,所以就有了变量page_str):

  

  2-4 json 库 2-5 模拟浏览器爬取Selenium

  使用此方法无需2-1操作,直接使用网页网址即可

  所以,这里还有一个方法,就是使用浏览器渲染引擎。显示网页时直接使用浏览器解析HTML,应用CSS样式并执行JavaScript语句。

  该方法会在抓取过程中打开浏览器加载网页,自动操作浏览器浏览各种网页,顺便抓取数据。通俗点讲,就是利用浏览器渲染的方式,把爬取的动态网页变成爬取的静态网页。

  我们可以使用 Python 的 Selenium 库来模拟浏览器来完成爬取。Selenium 是一种用于 Web 应用程序测试的工具。Selenium 测试直接在浏览器中运行,浏览器自动按照脚本代码进行点击、输入、打开、验证等操作,就像真实用户在操作一样。

  

  load_more = driver.find_element_by_css_selector('div.tie-load-more')

load_more.click()

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线