大模型-爬蟲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 BeautifulSoupclass 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 dataexcept Exception as e:print(f"爬取失敗: {str(e)}")return Noneif __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.pswp.cn/web/74613.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/74613.shtml
英文地址,請注明出處:http://en.pswp.cn/web/74613.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue中將pdf文件轉為圖片

平時開發中,我們經常遇到的場景應該是調用后端接口返回給前端pdf格式的文件流,然后我們可以通過URL.createObjectURL的方式轉為object url臨時路徑然后可以通過window.open的方式來打開一個新的瀏覽器頁簽來進行預覽,效果如下圖: 但有時候這樣滿足不了的需求,它不想這樣預…

物聯網安全技術:守護智能世界的防線

最近研學過程中發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊鏈接跳轉到網站人工智能及編程語言學習教程。讀者們可以通過里面的文章詳細了解一下人工智能及其編程等教程和學習方法。下面開始對正文內容的…

kubernetes安裝部署k8s

kubernetes https://github.com/kubernetes/kubernetes.git go mod tidy go mod vendor go build -o .\bin -v ./… //手動創建bin文件夾 使用 minikube&#xff1a;https://gitee.com/mirrors/minikube.git 使用minikube啟動本地化的集群服務 minikube start 啟動集群&…

JT/T 1078 協議基本介紹與解析

文章目錄 一、JT/T 1078 協議基本介紹二、JT/T 1078 與 JT808 的關系三、JT1078 協議核心功能四、JT1078 數據結構概覽4.1、消息結構&#xff1a;4.2、消息類型&#xff08;部分&#xff09;&#xff1a; 五、Java 中如何解析 JT1078 協議數據&#xff1f;5.1、JT1078 消息 ID …

手機為電腦提供移動互聯網絡的3種方式

寫作目的 在當今數字化時代,電腦已成為人們日常工作和生活中不可或缺的工具,而網絡連接更是其核心功能之一。無論是處理工作任務、進行在線學習、還是享受娛樂資源,穩定的網絡環境都是保障這些活動順利開展的關鍵。然而,在實際使用過程中,電腦網絡驅動故障時有發生,這可…

Linux的 /etc/sysctl.conf 筆記250404

Linux的 /etc/sysctl.conf 筆記250404 /etc/sysctl.conf 是 Linux 系統中用于 永久修改內核運行時參數 的核心配置文件。它通過 sysctl 工具實現參數的持久化存儲&#xff0c;確保系統重啟后配置依然生效。以下是其詳細說明&#xff1a; &#x1f4c2; 備份/etc/sysctl.conf t…

deepseek v3-0324 Markdown 編輯器 HTML

Markdown 編輯器 HTML 以下是一個美觀的 Markdown 編輯器 HTML 頁面&#xff0c;支持多種主題切換和實時預覽功能&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&q…

Linux make 檢查依賴文件更新的原理

1. 文件的時間戳 make 主要依靠文件的時間戳來判斷依賴文件是否有更新。每個文件在文件系統中都有一個時間戳&#xff0c;記錄了文件的三種重要時間&#xff1a; ??訪問時間&#xff08;Accesstime&#xff09;??&#xff1a;文件最后一次被訪問的時間。??修改時間&…

HDEBits中組合邏輯類的部分題目練習

文章目錄 1. More logic gates2. Truth tables3. 256-to-1 4-bit multiplexer4. 3-bit binary adder5. Signed addition overflow6. 4-digit BCD adder7. Minimum SOP and POS8. Karnaugh map9. K-map implemented with a multiplexer總結 1. More logic gates 題目&#xff1…

Apache httpclient okhttp(2)

學習鏈接 Apache httpclient & okhttp&#xff08;1&#xff09; Apache httpclient & okhttp&#xff08;2&#xff09; okhttp github okhttp官方使用文檔 okhttp官方示例代碼 OkHttp使用介紹 OkHttp使用進階 譯自OkHttp Github官方教程 SpringBoot 整合okHttp…

【git項目管理】長話短說

目錄 主要分為三種使用情況 安裝git后第一次使用創建新倉庫并管理克隆倉庫并管理 初次使用git 首先確定電腦的用戶名是純英文&#xff0c;沒有中文和奇怪的符號&#xff0c;如果不滿足這個條件&#xff0c;參考這個 鏈接 修改用戶名 git config --global user.name "…

算法刷題記錄——LeetCode篇(3.2) [第211~212題](持續更新)

更新時間&#xff1a;2025-04-04 算法題解目錄匯總&#xff1a;算法刷題記錄——題解目錄匯總技術博客總目錄&#xff1a;計算機技術系列博客——目錄頁 優先整理熱門100及面試150&#xff0c;不定期持續更新&#xff0c;歡迎關注&#xff01; 215. 數組中的第K個最大元素 給…

【linux學習】linux系統調用編程

目錄 一、任務、進程和線程 1.1任務 1.2進程 1.3線程 1.4線程和進程的關系 1.5 在linux系統下進程操作 二、Linux虛擬內存管理與stm32的真實物理內存區別 2.1 Linux虛擬內存管理 2.2 STM32的真實物理內存映射 2.3區別 三、 Linux系統調用函數 fork()、wait()、exec(…

react redux的學習,多個reducer

redux系列文章目錄 第一章 簡單學習redux,單個reducer 前言 前面我們學習到的是單reducer的使用&#xff1b;要知道redux是個很強大的狀態存儲庫&#xff0c;可以支持多個reducer的使用。 combineReducers ?combineReducers?是Redux中的一個輔助函數&#xff0c;主要用于…

Oracle數據庫數據編程SQL<3.5 PL/SQL 存儲過程(Procedure)>

存儲過程(Stored Procedure)是 Oracle 數據庫中一組預編譯的 PL/SQL 語句集合,存儲在數據庫中并可通過名稱調用執行。它們是企業級數據庫應用開發的核心組件。 目錄 一、存儲過程基礎 1. 存儲過程特點 2. 創建基本語法 3. 存儲過程優點 4. 簡單示例 二、沒有參數的存儲…

手撕AVL樹

引入&#xff1a;為何要有AVL樹&#xff0c;二次搜索樹有什么不足&#xff1f; 二叉搜索樹有其自身的缺陷&#xff0c;假如往樹中插入的元素有序或者接近有序&#xff0c;二叉搜索樹就會退化成單支樹&#xff0c;時間復雜度會退化成O(N)&#xff0c;因此產生了AVL樹&#xff0c…

《 C語言中的變長數組:靈活而強大的特性》

&#x1f680;個人主頁&#xff1a;BabyZZの秘密日記 &#x1f4d6;收入專欄&#xff1a;C語言 &#x1f30d;文章目入 一、變長數組的定義二、變長數組的優勢三、變長數組的使用示例示例1&#xff1a;動態輸入數組大小示例2&#xff1a;變長數組在函數中的應用 四、變長數組的…

【微服務】基礎概念

1.什么是微服務 微服務其實就是一種架構風格&#xff0c;他提倡我們在開發的時候&#xff0c;一個應用應該是一組小型服務而組成的&#xff0c;每一個服務都運行在自己的進程中&#xff0c;每一個小服務都通過HTTP的方式進行互通。他更加強調服務的徹底拆分。他并不是僅局限于…

Linux make與makefile 項目自動化構建工具

本文章將對make與makefile進行一些基礎的講解。 假設我們要建造一座房子&#xff0c;建造過程涉及很多步驟&#xff0c;比如打地基、砌墻、安裝門窗、粉刷墻壁等。每個步驟都有先后順序&#xff0c;并且有些步驟可能依賴于其他步驟的完成。比如&#xff0c;你必須先打好地基才…

如何判斷多個點組成的3維面不是平的,如果不是平的,如何拆分成多個平面

判斷和拆分三維非平面為多個平面 要判斷多個三維點組成的面是否為平面&#xff0c;以及如何將非平面拆分為多個平面&#xff0c;可以按照以下步驟進行&#xff1a; 判斷是否為平面 平面方程法&#xff1a; 選擇三個不共線的點計算平面方程&#xff1a;Ax By Cz D 0檢查其…