Q&A

Selenium 爬虫流程与步骤

  1. 安装 selenium 库

    pip install selenium

  2. 使用驱动实例开启会话

    以 Chrome 浏览器为例:

    driver = webdriver.Chrome()

  3. 在浏览器上执行操作

    driver.get(url = "")

  4. 请求浏览器信息

    title = driver.title

  5. 建立等待策略

    在尝试定位元素之前,要保证元素成功渲染在页面上

    driver.implicity_wait(0.5)

  6. 发送命令查找元素

    text_box = driver.find_element(by=By.NAME, value="my-text")
    submit_button = driver.find_element(by=By.CSS_SELECTOR, value="button")

  7. 操作元素

    • 点击
    • 发送键位
    • 清楚
    • 提交
    • 选择
  8. 获取元素信息

    message = driver.find_element(by=By.ID, value="message")

    ``text = message.text`

  9. 结束会话

    driver.quit()

常见反爬机制处理

  1. 单个 TCP 连接 HTTP 请求次数限制

    禁用 keep-alive

    请求到一定次数后重新建立一个 TCP 连接

    不要复用同一个 session 会话

  2. 封禁 IP

    使用 IP 代理池

    每隔一段时间换一次 IP 进行访问

  3. 数据加密、JS 混淆、自定义字体 ttf

    浏览器打断点,逆向 JS,解密数据

  4. token/sign 等加密参数

  5. UA 浏览器头

  6. 登录

  7. 验证码

常用正则表达式

  1. 或 |

  2. (分组)

  3. 重复 *

  4. 字符匹配

    \ 转义

    \d [0-9]

    \D [^0-9]

    \w 表示数字、大小写字母、下划线

    \W 非单词字符

  5. 位置匹配

    \b 单词边界

    \B 非单词边界

Flask 框架的优缺点

  1. 优点
    • 快速上手,轻量化
    • 可扩展性强
  2. 缺电
    • 需要自己配置第三方库和组件
    • 依赖插件

大模型模型微调方法

大型模型微调即是向模型“输入”更多信息,对模型的特定功能进行“优化”,通过输入特定领域的数据集,使模型学习该领域知识,从而优化大模型在特定领域的NLP任务中的表现,如情感分析、实体识别、文本分类、对话生成等。

img
  1. Prompt Tuning

    通过修改提示词(prompt)来引导模型生成符合特定任务或情景的输出

  2. Prefix-Tuning

    前缀微调,通过在输入文本前添加一段可学习的“前缀”来指导模型完成任务

  3. LoRA

    通过分解预训练模型中的部分权重矩阵为低秩矩阵,并仅微调这些低秩矩阵的少量参数来适应新任务。

    大模型微调 | Fine-tuning三种微调方式

接口自动化测试平台 项目介绍

文心一面智能 AI 模拟面试平台 项目介绍