Python知识分享网 - 专业的Python学习网站 学Python,上Python222
融合ChatGPT的智能化 Selenium网络爬虫设计与实现 PDF 下载
发布于:2024-09-02 09:43:03
(假如点击没反应,多刷新两次就OK!)

融合ChatGPT的智能化 Selenium网络爬虫设计与实现 PDF 下载 图1

 

 

资料内容:

 

 
2.2 自动化爬虫系统的设计
下面是该系统实现自动化爬虫功能的详细步骤及
相应的 Python 代码
导入程序中所用到的 Python 标准库以及第三方
库代码说明
Selenium用于自动化浏览器操作可以模拟用
户在浏览器中的各种行为如点击输入等常用于
爬虫测试和自动化任务
SSL用于处理 SSL 证书通过 ssl._create_default_
https_context = ssl._create_unverified_context 解决 SSL
证书问题报错
keyboard用于监听热键实现功能函数的实时
调用
threading用于创建线程实现多线程执行
rePython 的正则表达式库用于字符串的模式
匹配和处理
bs4BeautifulSoup):用于解析 HTML XML
文档方便地从网页中提取数据
time用于时间相关的操作比如等待计时等
undetected_chromedriver是对 selenium 的扩展
用于绕过检测自动化测试的脚本而运行Chrome浏览器
KeysSelenium 中的模块用于模拟键盘按键
WebDriverWait expected_conditionsselenium
中的模块用于等待页面元素加载
sysPython 标准库提供对 Python 运行时环境
的访问
atexit用于注册在程序退出之前执行的函数
colorama一个用于在终端输出中添加颜色的库
可以让输出更加丰富和醒目
库的导入部分代码如图 2 所示
图 2 库的导入
使 用 Python Selenium 库扩展 undetected_
chromedriver 来启动 Chrome 浏览器并监听热键F8
来触发一个功能回调函数hotkey_callback)。
同时注册一个在程序退出时关闭浏览器的回调函数
close_browser)。
代码说明使用 Python Selenium 库的扩展
undetected_chromedriver 来启动 Chrome 浏览器以实
现绕过爬虫目标网页的反爬虫机制[6]
通过 driver.get() 方法导航到百度网页https://
www.baidu.com)。方便用户操作
使用 keyboard 前提是已经导入 keyboard
监听热键 F8并在按下 F8 时触发 hotkey_callback
调函数主要功能函数获取解析网页源码以及
ChatGPT 交互等功能都包含其中下文详细介绍)。
创建 close_browser 函数用于关闭浏览器在程序
退出时通过 atexit.register() 方法注册 close_browser
函数确保在程序退出前关闭浏览器
输出提示信息告知用户按 F8 键开始工作
提醒不要手动关闭程序的窗口因为浏览器会在需要
时自动退出
创建字典命名为 window_dict来存储已打开
标签页的标题和句柄方便标签页的控制切换
接下来是一个 while 循环该循环会持续运行
至回调函数因错误中断),用于监测新标签页的操作
跳出循环后代码通过 time.sleep(1) 等待 1
然后调用 sys.exit() 来退出程序
具体代码如图 3 所示