当前位置: 首页 > news >正文

大模型-爬虫prompt

爬虫怎么写prompt

以下基于deepseek r1 总结:

以下是为大模型设计的结构化Prompt模板,用于生成专业级网络爬虫Python脚本。此Prompt包含技术约束、反检测策略和数据处理要求,可根据具体需求调整参数:

爬虫脚本生成Prompt模板1

请按照以下要求生成一个Python网络爬虫脚本:

1. 目标网站信息

  • 网站URL:[在此填写具体网址,如https://example.com/products]
  • 目标数据:[明确描述需要爬取的数据,如商品名称/价格/评论等]
  • 页面类型:[静态HTML/动态渲染/API接口/分页列表/详情页等]

2. 技术要求

# 必选技术栈
from selenium.webdriver import ChromeOptions
from bs4 import BeautifulSoup
import pandas as pd
import requests

3. 反检测要求

  • 实现随机User-Agent轮换
  • 设置合理请求间隔(2-5秒)
  • 处理Cloudflare等反爬机制
  • 使用IP代理池(如需)

3. 数据存储规范

输出格式:JSON/CSV/Excel(选择一种)

字段清洗要求:[如去除HTML标签/统一货币格式等]

去重机制:[基于URL/ID/时间戳等]

5. 异常处理

HTTP错误码处理(403/404/500等)

超时重试机制(最多3次)

反爬触发时的自动规避策略

6. 性能优化

并发请求数限制
缓存已爬取URL
增量爬取支持

7. 输出示例

// 展示期望的数据结构样例
{
  "product_id": "123",
  "name": "智能手机",
  "price": {"original": 5999, "discount": 5499},
  "rating": 4.5
}

8. 特殊要求

[是否需要登录/验证码处理]
[是否处理JavaScript渲染内容]
[是否有地理限制]

请生成完整可运行的Python代码,包含:

反爬绕过实现
数据解析逻辑
存储模块
日志记录系统
进度监控功能


爬虫脚本生成Prompt模板2(供参考)

  1. 技术栈明确化
    要求使用:

    • requests-html 处理动态渲染
    • Scrapy-Redis 实现分布式爬取
    • PyQuery 代替XPath解析
  2. 反爬策略强化
    需要实现:

    • 鼠标移动轨迹模拟
    • 指纹浏览器配置
    • TLS指纹混淆
  3. 数据合规性要求
    遵守:

    • robots.txt规则
    • 欧盟GDPR数据保护
    • 目标网站ToS条款
  4. 性能指标量化
    控制:

    • 请求频率 ≤ 10次/分钟
    • 内存占用 < 500MB
    • 断点续爬功能

示例输出(简版爬虫)

根据上述Prompt,大模型可能生成的代码框架:

import requests
from fake_useragent import UserAgent
import time
import json
from bs4 import BeautifulSoup

class ProfessionalCrawler:
    def __init__(self):
        self.session = requests.Session()
        self.ua = UserAgent()
        self.proxies = {"http": "socks5://127.0.0.1:1080"}
        
    def get_random_headers(self):
        return {
            'User-Agent': self.ua.random,
            'Accept-Language': 'en-US,en;q=0.9',
            'Referer': 'https://www.google.com/'
        }
    
    def scrape(self, url):
        try:
            resp = self.session.get(
                url,
                headers=self.get_random_headers(),
                proxies=self.proxies,
                timeout=10
            )
            resp.raise_for_status()
            
            # 使用BS4解析
            soup = BeautifulSoup(resp.text, 'lxml')
            data = {
                'title': soup.find('h1').get_text().strip(),
                'price': float(soup.select('.price')[0].text.replace('$', ''))
            }
            
            # 智能延迟
            time.sleep(max(2, min(5, len(resp.text)/5000)))
            
            return data
            
        except Exception as e:
            print(f"爬取失败: {str(e)}")
            return None

if __name__ == '__main__':
    crawler = ProfessionalCrawler()
    result = crawler.scrape("https://example.com/product/123")
    with open('output.json', 'w') as f:
        json.dump(result, f, indent=2)

Prompt优化建议

  1. 增加约束条件

  2. 补充要求:

    • 代码必须通过Pylint检测
    • 支持Docker容器化部署
    • 包含单元测试模块
  3. 指定架构模式
    要求采用:

    • 生产者-消费者模式处理队列
    • 状态机管理爬取流程
    • 支持Prometheus监控
  4. 法律声明
    必须包含:

    • 版权声明注释
    • 使用条款确认
    • 数据删除接口
http://www.dtcms.com/a/111526.html

相关文章:

  • 字符串拼接
  • Python语料数据清洗方法之一
  • 从代码学习深度学习 - LSTM PyTorch版
  • 【硬件模块】数码管模块
  • 理解OSPF Stub区域和各类LSA特点
  • QEMU学习之路(5)— 从0到1构建Linux系统镜像
  • 【学习篇】fastapi接口定义学习
  • 19.TCP相关实验
  • 哈密尔顿路径(Hamiltonian Path)及相关算法题目
  • 前端快速入门学习3——CSS介绍与选择器
  • 第三季:挪威
  • 阿里Qwen 创建智能体,并实现ubantu系统中调用
  • 对用户登录设计测试用例
  • Transformer由入门到精通(一):基础知识
  • CSS快速上手
  • BUUCTF-web刷题篇(10)
  • 封装自己的api签名sdk
  • 数据结构 -- 图的存储
  • SpringBoot定时任务深度优化指南
  • ubuntu部署ollama+deepseek+open-webui
  • OpenCV 实现对形似宝马标的黄黑四象限标定位
  • 字符串移位包含问题
  • CExercise_1_4continue关键字在while循环和for循环中,实现的功能有什么区别?
  • Neo4j操作数据库(Cypher语法)
  • NO.61十六届蓝桥杯备战|基础算法-双指针|唯一的雪花|逛画展|字符串|丢手绢(C++)
  • 管理系统 UI 设计:提升企业办公效率的关键
  • (多看) CExercise_05_1函数_1.2计算base的exponent次幂
  • 花卉识别分类系统,Python/resnet18/pytorch
  • MySQL简介
  • 大钲资本押注儒拉玛特全球业务,累计交付超2500条自动化生产线儒拉玛特有望重整雄风,我以为它破产倒闭了,担心很多非标兄弟们失业