Skip to content

cmblab/crawler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

课题 01 的核心技术栈与自学要点

为高效完成本次土地交易数据采集与分析课题,需要重点掌握以下技术栈。这些工具和库将帮助你实现网页数据的自动化采集、整理、分析及监控。 请注意,线上课程关注于 系统设计和工作思路 ,关于 Python 的语法,库的使用,API的调用方法,工具的使用细节等,请自学相关文档。


一、RPA 工具

  • 影刀 RPA 软件:
    • 基础操作: 熟悉影刀的开发界面、流程设计器。
    • 核心组件应用: 掌握浏览器操作(打开/关闭网页、跳转)、元素捕获、点击、输入、数据提取(文本、表格)以及 Excel 读写等组件的使用。
    • 流程设计: 能够构建基本的自动化流程,理解循环和条件判断在 RPA 中的应用。

二、爬虫基础与网络原理

  • HTTP/HTTPS 工作原理: 理解网页请求与响应的基本过程,包括 GET/POST 请求、请求头、响应头、状态码(如 200、403、404)。这将帮助学生理解爬虫如何与网站通信。
  • Cookies 与 Session: 了解它们在网站登录和用户状态保持中的作用,这对于处理需要登录的网站至关重要。
  • 反爬机制基础: 简单了解常见的反爬虫策略(如 IP 限制、User-Agent 检测、验证码),并知道如何进行初步规避(例如,设置合适的请求头、降低请求频率)。

三、Python 编程与数据处理

  • 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 库(如 scheduleAPScheduler 的基础用法)实现程序的定时执行。
  • 通知服务集成:
    • 邮件发送: 学习 Python 标准库 smtplib 发送邮件。
    • Web API 调用: 了解通过 HTTP 请求调用第三方通知服务 API 的基本原理(如企业微信、阿里云SMS等,可根据选择的服务查阅其API文档)。

学习建议:

  • 边学边练: 每一项技术都应结合课题中的具体网站进行实践,以任务为导向解决实际问题。
  • 善用资源: 充分利用官方文档、在线教程。遇事不决请先咨询搜索引擎和和大模型平台。
  • 调试与排错: 培养使用 Python 调试器和 Chrome DevTools 独立排查问题的能力。

About

课题指南

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages