Python3爬虫技术文档(三)——动态页面数据获取

Dulcea ·
更新时间:2024-09-21
· 946 次阅读

上文说到,我们可以通过分析Ajax访问服务器的方式来获取Ajax数据。Ajax也算动态渲染页面的一种。所以,动态页面也是可以爬取滴。

文章目录Selenium安装SeleniumSelenium基本使用方法声明浏览器对象访问页面查找节点节点交互获取节点信息 Selenium

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。简而言之,Selenium可以模拟用户操作浏览器,所以它也可以提取动态页面。

安装Selenium

cmd下输入:

pip install selenium

同时下载浏览器对应版本的驱动。
Chrome:点击下载
Firefox:点击下载
IE:点击下载
下载后解压到python安装目录的scripts下。

Selenium基本使用方法 声明浏览器对象

Selenium支持许多的浏览器,我们首先需要让系统知道你使用的是什么浏览器,我们可以用以下方式初始化:

from selenium import webdriver browser = webdriver.Chrome() browser = webdriver.Firefox() browser = webdriver.Edge() browser = webdriver.PhantomJS() browser = webdriver.Sarari()

之后我们就可以使用调用browser对象,执行各种动作来模拟浏览器操作

访问页面

我们用get()方法来请求网页,只需要传入URL即可。这里我们访问百度页面,并打印出源代码:

from selenium import webdriver browser = webdriver.Chrome() browser.get(‘https://www.baidu.com’) print(browser.page_source) browser.close() 查找节点 单个节点
网页构成是一个个超文本标记语言构成的,这些就是网页的节点,我们想获取某个信息就需要知道这个信息所在的地方在哪里。那么这里要通过查看网页的源代码。
原创文章 3获赞 3访问量 378 关注 私信 展开阅读全文
作者:小昱同学



爬虫 数据 动态 Python3 技术文档 Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号