ppt模板资源网站,深圳网站建设公司排名,北京建设银行支行查询官方网站,网站开发中文摘要#x1f31f;想系统化学习爬虫技术#xff1f;看看这个#xff1a;[数据抓取] Python 网络爬虫 - 学习手册-CSDN博客 0x01#xff1a;WebDriver 类基础属性 方法
为模仿用户真实操作浏览器的基本过程#xff0c;Selenium 的 WebDriver 模块提供了一个 WebDriver 类… 想系统化学习爬虫技术看看这个[数据抓取] Python 网络爬虫 - 学习手册-CSDN博客 0x01WebDriver 类基础属性 方法
为模仿用户真实操作浏览器的基本过程Selenium 的 WebDriver 模块提供了一个 WebDriver 类表示浏览器该类中提供了一些诸如打开浏览器、关闭浏览器、刷新浏览器、前进、后退等入门操作的方法和属性
属性 OR 方法解析title获取当前页面的标题current_url获取当前页面的 URL 地址page_source获取当前页面的 HTML 代码渲染后的get()根据指定的 URL 地址访问页面maximize_window()设置浏览器窗口最大化forward()页面前进back()页面后退refresh()刷新当前页面save_screenshot()截取当前浏览器窗口close()关闭当前页面quit()关闭浏览器
0x02get() 方法 page_source 属性
使用 get() 方法可以操作浏览器访问的目标网页使用 page_source 可以获取当前页面整体的源代码渲染后的比如下面的例子我们尝试访问 taobao.com 并抓取渲染好的页面
from selenium import webdriver
import time
driver webdriver.Chrome() # 创建浏览器对象
driver.get(https://taobao.com) # 访问淘宝首页
# 因为从访问淘宝到淘宝加载商品数据中间有一段时间所以我们得强制等待一会等待页面完全加载
time.sleep(3) # 等待 3 秒
print(driver.page_source) # 打印渲染好的页面
# print(driver.title) # 获取当前页面的标题
# print(driver.current_url) # 获取当前页面的 URL 地址 如上我们成功抓取了淘宝官网动态加载后的页面数据只要再结合之前学习的数据提取方法我们就能够很轻松的从动态页面中抓取我们想要的数据啦。
对于 title 属性与 current_url 属性相信聪明如你一定知道是提取啥的了吧笔者后面就不特意讲了如果不知道的话自己跑跑呗把上面注释去掉就行。
0x03maximize_window() 方法
使用 Selenium 启动浏览器后浏览器的窗口默认不是以最大化形式显示的此时通过调用 maximize_window() 方法即可实现浏览器窗口最大化
from selenium import webdriver
import time
driver webdriver.Chrome() # 创建浏览器对象
driver.get(https://taobao.com) # 访问淘宝首页
# 让浏览器窗口最大化
driver.maximize_window() 0x04forward()、back()、refresh() 方法
经常用浏览器的你肯定对下面三个小按钮非常熟悉它们就是后退←、前进→和刷新按钮 下面介绍 forward()、back()、refresh() 方法就对应上面那几个功能下面是一个示例代码
from selenium import webdriver
import time
driver webdriver.Chrome() # 创建浏览器对象
driver.maximize_window() # 让浏览器窗口最大化
driver.get(https://taobao.com) # 访问淘宝首页
time.sleep(3) # 暂停三秒
driver.get(https://www.baidu.com) # 访问百度首页
time.sleep(3) # 暂停三秒
driver.back() # 模拟回退按钮回退到淘宝首页
time.sleep(3) # 暂停三秒
driver.forward() # 模拟前进按钮前进到百度首页
time.sleep(3) # 暂停三秒
driver.refresh() # 模拟刷新按钮刷新页面
对于代码的执行效果还得是观众老爷自己运行看看笔者建议是自己敲一遍这里笔者就不放图了。
0x05save_screenshot()、close()、quit() 方法
通过 WebDriver 类的 save_screenshot() 放啊我们可以截取当前的窗口并将其保存为 PNG 格式的图像文件比如下面这个例子我们尝试截取淘宝首页图片并保存为 taobao.png
from selenium import webdriver
import time
driver webdriver.Chrome() # 创建浏览器对象
driver.maximize_window() # 让浏览器窗口最大化
driver.get(https://taobao.com) # 访问淘宝首页
print([ ] 成功访问淘宝首页! 三秒后开始截图操作 ....)
time.sleep(3)
driver.save_screenshot(taobao.png)
print([ ] 截屏完成保存为了 taobao.png三秒后将关闭当前页面 ....)
time.sleep(3)
driver.close() # 退出当前页面
print([ ] 成功关闭页面, 3 秒钟后将关闭浏览器退出程序 .....)
time.sleep(3)
driver.quit() # 退出浏览器