为高效完成本次土地交易数据采集与分析课题,需要重点掌握以下技术栈。这些工具和库将帮助你实现网页数据的自动化采集、整理、分析及监控。 请注意,线上课程关注于 系统设计和工作思路 ,关于 Python 的语法,库的使用,API的调用方法,工具的使用细节等,请自学相关文档。
- 影刀 RPA 软件:
- 基础操作: 熟悉影刀的开发界面、流程设计器。
- 核心组件应用: 掌握浏览器操作(打开/关闭网页、跳转)、元素捕获、点击、输入、数据提取(文本、表格)以及 Excel 读写等组件的使用。
- 流程设计: 能够构建基本的自动化流程,理解循环和条件判断在 RPA 中的应用。
- HTTP/HTTPS 工作原理: 理解网页请求与响应的基本过程,包括 GET/POST 请求、请求头、响应头、状态码(如 200、403、404)。这将帮助学生理解爬虫如何与网站通信。
- Cookies 与 Session: 了解它们在网站登录和用户状态保持中的作用,这对于处理需要登录的网站至关重要。
- 反爬机制基础: 简单了解常见的反爬虫策略(如 IP 限制、User-Agent 检测、验证码),并知道如何进行初步规避(例如,设置合适的请求头、降低请求频率)。
- Pandas 库: 这是数据处理的核心。需要熟练使用
pandas进行数据的读写(CSV、Excel)、清洗、整理、筛选、排序以及初步的分析。理解DataFrame的基本操作至关重要。 - Openpyxl 库: 虽然
pandas可以处理 Excel,但openpyxl在更精细的 Excel 文件操作(如读写特定单元格、修改样式、处理多个工作表等)方面提供了更多控制,对输出规范的 Excel 表格非常有帮助。 - JSON 库: 很多网页数据和 API 响应会采用 JSON 格式。学生需要学会使用 Python 内置的
json库进行 JSON 数据的解析和生成。 - 异常处理: 理解并应用
try-except语句,确保程序在面对网络波动、网页结构变化等问题时能稳定运行,提高代码的健壮性。
- HTML/CSS 关键概念:
- DOM 结构: 理解网页内容的树形结构是所有网页解析的基础。
- 常用标签与属性: 熟悉
div,a,table,input等常见 HTML 标签及其id,class,name等属性。 - CSS 选择器: 这是重点! 熟练掌握 ID 选择器 (
#id)、类选择器 (.class)、标签选择器 (tag) 以及简单的组合选择器,能够精准定位网页元素。
- Chrome 开发者工具 (DevTools) 使用:
- Elements (元素) 面板: 学会检查网页元素,查看它们的 HTML 结构、ID、类名,并用于获取元素的定位器(XPath 或 CSS Selector)。
- Network (网络) 面板: 了解网页加载时发出的请求,这有助于理解动态加载的数据来源。
- Selenium 库:
- 环境搭建: 安装 Selenium 库和对应的浏览器驱动(如 ChromeDriver)。
- 元素定位: 熟练运用
find_element_by_*系列方法,尤其是基于 XPath 和 CSS Selector 的定位方式,以应对复杂的网页结构。 - 页面交互: 模拟用户操作,如点击、输入文本 (
send_keys)、处理下拉菜单、页面滚动。 - 等待机制: 重点掌握显式等待(Explicit Wait),这是处理网页动态加载内容、确保元素可交互的关键。
- 多页面/多窗口处理: 掌握如何点击链接进入详情页、返回列表页,以及切换不同浏览器窗口。
- 无头模式: 了解如何使浏览器在后台运行,提高效率。
- Requests 库:
- 发送 HTTP GET/POST 请求,用于获取网页的原始 HTML 内容或与 API 接口交互。
- 学会设置请求头(如
User-Agent)和处理 Cookies。
- Beautiful Soup 库:
- 解析
requests获取到的 HTML 内容。 - 使用
find(),find_all(),select()等方法高效地从解析后的 HTML 中提取所需数据。
- 解析
- Python 定时任务: 了解如何通过 Python 库(如
schedule或APScheduler的基础用法)实现程序的定时执行。 - 通知服务集成:
- 邮件发送: 学习 Python 标准库
smtplib发送邮件。 - Web API 调用: 了解通过 HTTP 请求调用第三方通知服务 API 的基本原理(如企业微信、阿里云SMS等,可根据选择的服务查阅其API文档)。
- 邮件发送: 学习 Python 标准库
学习建议:
- 边学边练: 每一项技术都应结合课题中的具体网站进行实践,以任务为导向解决实际问题。
- 善用资源: 充分利用官方文档、在线教程。遇事不决请先咨询搜索引擎和和大模型平台。
- 调试与排错: 培养使用 Python 调试器和 Chrome DevTools 独立排查问题的能力。