爬虫提示词

4 分钟阅读
1 阅读
0 评论
技术分享

请为江苏省招标投标公共服务平台开发一个招投标公告数据爬虫程序。

目标网站信息:

  • qds: "1100761"
  • qdn: "江苏省招标投标公共服务平台"
  • data_source_type: "招投标"

需要采集的URL列表:

json
"urls": {
    "平台发布-非公开招标理由公示":"https://www.jszbtb.com/#/bulletin?page=1&category_id=94",
    "平台发布-招标计划公告":"https://www.jszbtb.com/#/bulletin?page=1&category_id=93", 
    "平台发布-资格预审公告":"https://www.jszbtb.com/#/bulletin?page=1&category_id=92",
    "平台发布-招标公告":"https://www.jszbtb.com/#/bulletin?page=1&category_id=88",
    "平台发布-中标候选人公示":"https://www.jszbtb.com/#/bulletin?page=1&category_id=91",
    "平台发布-结果公示":"https://www.jszbtb.com/#/bulletin?page=1&category_id=90",
    "平台发布-更正公告公示":"https://www.jszbtb.com/#/bulletin?page=1&category_id=89"
}

数据采集要求:

  1. 时间范围:仅采集指定日期发布的公告数据,默认为T-1日(前一日)
  2. 数据字段:按照现有 item_db 结构采集以下字段:
    • id: 13位时间戳 + MD5(title) 拼接,确保唯一性
    • md5_id: MD5(qds + id) 生成,用于去重
    • title: 公告标题(必填)
    • notice_type_main: 根据URL中的公告类型设置(如"招标公告"、"中标候选人公示"等)
    • notice_type_sub: 默认"未指定"
    • content_text: 详情页正文纯文本内容
    • content_html: 详情页HTML内容
    • content_swf_path: 附件存放在Minio服务器上路径,多个用";"分隔
    • minio_swf_id: 附件文件名,多个用";"分隔
    • publish_time: 原始发布时间,时间格式统一为(%Y-%m-%d)
    • collection_time: 采集时间
    • collection_url: 详情页URL
    • page_index: "招投标"

技术要求:

  1. 如果不能直接通过网站的API获取数据,请使用浏览器自动化框架(playwright),
  2. 集成现有的附件下载和MinIO上传功能
  3. 使用现有的CSV导出和MySQL导入流程
  4. 遵循现有的日志记录规范
  5. 处理分页逻辑(如果存在)
  6. 实现日期过滤,跳过早于指定日期的数据

参考文件:

  • 数据库导入:export_data_to_mysql.py
  • 附件上传:minio_upload.py

请提供完整的爬虫实现代码,包括必要的错误处理和日志记录。

分享到:

评论 (0)

暂无评论,快来抢沙发吧!