🎯 कस्टमाइज़ करने योग्य, डिटेक्शन-प्रतिरोधी क्लाउड ब्राउज़र जो स्व-विकसित Chromium द्वारा संचालित है, वेब क्रॉलर और एआई एजेंट्स के लिए डिज़ाइन किया गया। 👉अभी आज़माएं
वापस ब्लॉग पर

डीपसीक वेब स्क्रैपिंग: टेबल-सूप एचटीएमएल को साफ जेसन में बदलें

James Thompson
James Thompson

Scraping and Proxy Management Expert

29-Jul-2026

TL;DR:

  • DeepSeek बजट निष्कर्षण इंजन है, और यह गंदे मार्कअप पर शीर्षक अर्जित करता है। इस गाइड में एक लाइव रन ने 3,397 टोकन पर एक नेस्टेड-टेबल पृष्ठ से 10 संरचित रिकॉर्ड - टेक्स्ट, लेखक, टैग सूची - निकाले।
  • एपीआई एक base_url स्वैप दूर है। DeepSeek का एंडपॉइंट OpenAI-संगत है: आधिकारिक OpenAI पायथन SDK https://api.deepseek.com पर सेट किया गया है, JSON मोड चालू है, यही पूरी इंटीग्रेशन है।
  • मॉडल के नाम हाल ही में बदले गए हैं - अधिकांश ट्यूटोरियल पुरातन हैं। वर्तमान मॉडल deepseek-v4-flash और deepseek-v4-pro हैं; लंबे समय से परिचित deepseek-chat और deepseek-reasoner नाम 24-जुलाई-2026 से अमान्य हो गए हैं।
  • मॉडल अभी भी डेटा लाने में सक्षम नहीं है। रेंडरिंग, सत्र और पहुंच चुनौतियाँ एक फ़ेच परत से संबंधित हैं; इस गाइड की एक पोस्ट प्रति पृष्ठ Scrapeless यूनिवर्सल स्क्रैपिंग एपीआई के द्वारा है।
  • अभी तक DeepSeek की कुंजी नहीं है? समान अनुरोध OpenRouter के माध्यम से चलता है। इस गाइड ने deepseek/deepseek-v4-flash पर लाइव इसे निष्पादित किया और कैप्चर किया गया आउटपुट दिखाता है।
  • फेच साइड पर शुरुआत करने के लिए मुफ्त। app.scrapeless.com पर अपना Scrapeless API की बनाएं।

क्या DeepSeek वेबसाइटों को स्क्रैप कर सकता है?

DeepSeek पृष्ठों को पढ़ता है; यह उन्हें प्राप्त नहीं करता। एपीआई टेक्स्ट लेता है जो आपने पहले ही लिया है और उन फ़ील्ड्स को वापस करता है जिन्हें आप नामित करते हैं - और चूंकि इसका प्रति-टोकन मूल्य बाजार के सबसे निचले स्तर पर है, यह उस मॉडल है जिसे लोग तब चुनते हैं जब निष्कर्षण को बहुत सारे पृष्ठों के बीच चलाना होता है। उन पृष्ठों को लाना, उनकी जावास्क्रिप्ट को रेंडर करना, और उनकी पहुंच नियंत्रणों से जीवित रहना एक अलग परत है जिसे कोई भी चैट-कम्प्लीशन एंडपॉइंट प्रदान नहीं करता।

जहाँ DeepSeek चमकता है वह मार्कअप है जिसे आप हाथ से पार्स करना कम से कम चाहेंगे। सेमांटिक HTML चयनकर्ताओं के लिए दयालु है; असली पृष्ठ अक्सर नहीं होते। इस गाइड में डेमो लक्ष्‍य एक कोट्स पृष्ठ है जो पूरी तरह से नेस्टेड टेबल के रूप में रेंडर किया गया है - डेटा कोशिकाओं, कोट टेक्स्ट, लेखकों, और टैग को एक पंक्ति में इंटरलीवेड किया गया है - एक ऐसी संरचना जहाँ चयनकर्ता तर्क पंक्ति-गिनती अंकगणित में बदल जाता है जो अगले डिजाइन पर मर जाता है। एक भाषा मॉडल को परवाह नहीं है: यह तालिका को उसी तरह पढ़ता है जैसे एक व्यक्ति करता है।

योजना: एक नियंत्रित फ़ेच परत के साथ एक बार तालिका-सूप पृष्ठ लाना, फिर DeepSeek को साफ JSON लौटाना। यदि आपकी रुचि व्यापक उपकरण श्रेणी में है, तो LLM स्क्रैपर स्पष्टीकरण और LLM स्क्रैपर्स की रैंक की गई सूची क्षेत्र का मानचित्रण करते हैं।

इंस्टॉल

एक SDK मूल पथ और एग्रीगेटर पथ दोनों को कवर करता है, साथ ही फ़ेचिंग के लिए requests:

bash Copy
pip install "openai==2.34.0" requests

कॉन्फ़िगर करें

bash Copy
export DEEPSEEK_API_KEY="sk-your_deepseek_key"
export SCRAPELESS_API_KEY="sk_your_scrapeless_key"

उस पृष्ठ को फेच करें जिसे कोई पार्स करना नहीं चाहता

लक्ष्य एक सार्वजनिक कोट्स साइट का टेबल-आधारित रेंडरिंग है जो स्क्रैपिंग प्रैक्टिस के लिए बनाया गया है। यूनिवर्सल स्क्रैपिंग एपीआई पर एक POST इसे रेंडरिंग और अनलॉकिंग को सर्वर-साइड हैंडल करने के साथ वापस लाता है:

python Copy
# fetch_tableful.py — Scrapeless के माध्यम से तालिका-सूप पृष्ठ प्राप्त करें
import os

import requests

resp = requests.post(
    "https://api.scrapeless.com/api/v1/unlocker/request",
    headers={
        "Content-Type": "application/json",
        "x-api-token": os.environ["SCRAPELESS_API_KEY"],
    },
    json={
        "actor": "unlocker.webunlocker",
        "input": {"url": "https://quotes.toscrape.com/tableful/", "method": "GET"},
    },
    timeout=120,
)
resp.raise_for_status()
html = resp.json().get("data", "")
print(f"फेच किए गए {len(html):,} पात्र")
print("तालिका तत्व:", html.count("<table"), "| तालिका पंक्तियाँ:", html.count("<tr"))

with open("page.html", "w", encoding="utf-8") as f:
    f.write(html)

यह रन एक <table> और 22 <tr> पंक्तियों को प्रिंट करता है जो कि अवधारणात्मक रूप से दस रिकॉर्ड हैं जिनमें टैग हैं - कोट पंक्तियाँ और टैग पंक्तियाँ वैकल्पिक रूप से, ठीक उसी आकार में HTML तालिका विनिर्देश की अनुमति देता है और चयनकर्ता लेखक डरते हैं।

बुनियादी कार्यान्वयन: DeepSeek को निकालने वाले के रूप में

This task requires providing a translation of the provided text into Hindi. Here is the translated text:

इंटीग्रेशन ओपनएआई एसडीके है जिसमें दो डीपसीक-विशिष्ट मान हैं: बेस यूआरएल और मॉडल नाम। JSON मोड (response_format={"type": "json_object"}) और temperature=0 आउटपुट को पार्स करने योग्य और स्थिर बनाते हैं - इन पैरामीटर का वर्णन डीपसीक एपीआई संदर्भ में किया गया है। वर्तमान मॉडल नामों का उपयोग करें: deepseek-v4-flash निकासी कार्य के लिए, deepseek-v4-pro जब आपको वास्तव में अधिक मॉडल की आवश्यकता हो; पुराने deepseek-chat और deepseek-reasoner नाम 24-जुलाई-2026 से अस्वीकार किए गए हैं।

नोट: इस ब्लॉक को एक DEEPSEEK_API_KEY की आवश्यकता है जिसके साथ क्रेडिट होता है - यह एकमात्र पूर्वापेक्षा है जिसे यह गाइड मानती नहीं है। अगला अनुभाग ओपनराउटर के माध्यम से समान निकासी को वास्तव में चलाता है, इसके आउटपुट को कैप्चर करते हुए।

python Copy
# extract_deepseek.py — स्वदेशी डीपसीक निकासी (DEEPSEEK_API_KEY की आवश्यकता है)
import json
import os

from openai import OpenAI

client = OpenAI(
    base_url="https://api.deepseek.com",
    api_key=os.environ["DEEPSEEK_API_KEY"],
)

page_html = open("page.html", encoding="utf-8").read()

completion = client.chat.completions.create(
    model="deepseek-v4-flash",
    temperature=0,
    response_format={"type": "json_object"},
    messages=[
        {
            "role": "system",
            "content": 'इस तालिका-आधारित पृष्ठ से हर उद्धरण निकालें। केवल JSON के साथ उत्तर दें: '
            '{"quotes":[{"text":str,"author":str,"tags":[str]}]}.',
        },
        {"role": "user", "content": page_html},
    ],
)

data = json.loads(completion.choices[0].message.content)
print(f"तालिका मार्कअप से {len(data['quotes'])} उद्धरण निकाले गए")

कोई पंक्ति अंकगणित नहीं, कोई भाई-धुरी XPath नहीं — स्कीमा आउटपुट को नामित करता है और मॉडल पढ़ाई करता है।

कोई डीपसीक कुंजी नहीं? इसे ओपनराउटर के माध्यम से चलाएं

चूंकि दोनों सतहें ओपनएआई आकार की हैं, एग्रीगेटर वैरिएंट दो स्ट्रिंग्स द्वारा भिन्न है। यह संस्करण है जिसे इस गाइड ने वास्तव में एक आत्म-contained स्क्रिप्ट में निष्पादित किया, फेच और निकासी एक में:

python Copy
# extract_openrouter.py — वही निकासी, ओपनराउटर के माध्यम से निष्पादित
import json
import os

import requests
from openai import OpenAI

resp = requests.post(
    "https://api.scrapeless.com/api/v1/unlocker/request",
    headers={
        "Content-Type": "application/json",
        "x-api-token": os.environ["SCRAPELESS_API_KEY"],
    },
    json={
        "actor": "unlocker.webunlocker",
        "input": {"url": "https://quotes.toscrape.com/tableful/", "method": "GET"},
    },
    timeout=120,
)
resp.raise_for_status()
page_html = resp.json().get("data", "")

client = OpenAI(
    base_url="https://openrouter.ai/api/v1",
    api_key=os.environ["OPENROUTER_API_KEY"],
)

completion = client.chat.completions.create(
    model="deepseek/deepseek-v4-flash",
    temperature=0,
    response_format={"type": "json_object"},
    messages=[
        {
            "role": "system",
            "content": 'इस तालिका-आधारित पृष्ठ से हर उद्धरण निकालें। केवल JSON के साथ उत्तर दें: '
            '{"quotes":[{"text":str,"author":str,"tags":[str]}]}.',
        },
        {"role": "user", "content": page_html},
    ],
)

data = json.loads(completion.choices[0].message.content)
print(f"तालिका मार्कअप से {len(data['quotes'])} उद्धरण निकाले गए")
print(json.dumps(data["quotes"][0], ensure_ascii=False))

प्रत्यक्ष रन ने तालिका सूप से सभी 10 रिकॉर्ड को निकाला, पहला:

text Copy
तालिका मार्कअप से 10 उद्धरण निकाले गए
{"text": "हमने जिस दुनिया को बनाया है वह हमारे सोचने की प्रक्रिया है। इसे बदलने के लिए हमारे सोचने को बदलना होगा।", "author": "Albert Einstein", "tags": ["change", "deep-thoughts", "thinking", "world"]}

टैग्स को ऐरे के रूप में वापस आया, हालांकि पृष्ठ उन्हें उद्धरण से अलग पंक्ति में प्रदर्शित करता है - मॉडल ने प्रत्येक टैग पंक्ति को ऊपर की उद्धरण पंक्ति के साथ जोड़ा, जो कि एक चयनकर्ता स्क्रिप्ट द्वारा हैण्ड-कोडेड जोड़ा है। पूरी कॉल: 3,397 टोकन।

अपने एपीआई कुंजी को फ्री योजना पर प्राप्त करें: app.scrapeless.com

उन्नत पैटर्न

  • केवल उन पृष्ठों के लिए मॉडल आरक्षित करें जो इसके योग्य हैं। डीपसीक प्रति टोकन सस्ता है, और एक चयनकर्ता स्क्रिप्ट अभी भी सस्ती है: मुफ्त। स्वच्छ, स्थिर लेआउट को उत्पन्न-फिर-समीक्षित चयन कोड में रूट करें और टेबल सूप, फिर से डिज़ाइन-प्रवण, और दीर्घ पुंज पर मॉडल कॉल पर खर्च करें।
  • जब आपको पंक्ति अर्थ पता हो तो उसे बताएं। इस पृष्ठ पर प्रमाणीकरण की आवश्यकता नहीं थी, लेकिन अशुद्ध तालिकाओं पर एक वाक्य — "प्रत्येक रिकॉर्ड दो पंक्तियों में फैला है: डेटा, फिर टैग" — बड़ी मॉडल का उपयोग किए बिना सटीकता खरीदता है।
  • प्रत्येक कॉल में एक पृष्ठ रखें और पाइथन में लूप करें। पृष्ठ सीमाएँ रिकॉर्ड सीमाएँ होती हैं; प्रॉम्प्ट-साइड बैचिंग उन्हें धुंधला कर देती है।
  • डिप्रिकेशन कैलेंडर पर नज़र रखें। पिन किए गए मॉडल नाम उम्र बढ़ते हैं। deepseek-chat ने लंबे समय तक काम किया और 24-जुलाई-2026 को समाप्त हो जाता है — मॉडल आईडी को कॉन्फ़िग में रखें, दस स्क्रिप्ट में नहीं।

समस्या निवारण

  • model_not_found या समान स्थानीय एंडपॉइंट पर। आप शायद एक पूर्ववत मॉडल नाम भेज रहे हैं; deepseek-v4-flash या deepseek-v4-pro पर स्विच करें।
  • JSON के बजाय प्रोज़। JSON मोड बंद है - response_format={"type": "json_object"} सेट करें और सिस्टम संदेश में स्कीमा बनाए रखें।
  • रिकॉर्ड का सम्मिलन या टैग गलत उद्धरण पर लैंड करते हैं। सिस्टम संदेश में पंक्ति-सेमान्टिक्स वाक्य जोड़ें, और जांचें कि प्राप्त HTML वास्तव में उन पंक्तियों को शामिल करता है जिनकी आप अपेक्षा करते हैं, जैसे कि फ़ेच स्क्रिप्ट उन्हें गिनती है।
  • आउटपुट रनों के बीच भिन्न होता है। temperature=0। निष्कर्षण एक लिखाई का कार्य नहीं, बल्कि एक ट्रांसक्रिप्शन कार्य है।

निष्कर्ष

DeepSeek के निष्कर्षण परत के लिए गणितीयता और सहिष्णुता का मामला है: बाजार के सबसे निचले स्तर के टोकन मूल्य और कोई ऐसा_markup नहीं जो चयनकर्ता तर्क को दंडित करे। टेबल-सूप डेमो यहाँ प्रमाण है - 10 रिकॉर्ड जिनमें सही रूप से जुड़े टैग एरे हैं, अज्ञात <tr> पंक्तियों से, 3,397 टोकन के लिए। जो मॉडल प्रदान नहीं कर सकता वह स्वयं पृष्ठ है, जो रेंडर और पहुंच योग्य है; प्रति पृष्ठ एक सर्वर-साइड POST उस पक्ष को कवर करता है, और दो परतें मिलकर एक स्क्रैपर बनाती हैं जो चलाने के लिए लगभग कुछ नहीं और जब मार्कअप बदलता है तो बनाए रखने के लिए थोड़ा खर्च होता है।

क्या आप DeepSeek को असली पृष्ठों को फ़ीड करने के लिए तैयार हैं?

यहाँ फ़ेच परत यूनिवर्सल स्क्रैपिंग API है - योजनाएँ और अनुरोध मात्रा मूल्य निर्धारण पृष्ठ पर हैं, प्रत्येक unlocker.webunlocker पैरामीटर डेवलपर डॉक्यूमेंटेशन में है। app.scrapeless.com पर मुफ्त योजना पर एक कुंजी बनाएं और दोनों स्क्रिप्टें जैसे लिखी गई हैं चलेंगी।

प्रश्न और उत्तर

प्रश्न: क्या DeepSeek वेबसाइटों को खुद से स्क्रैप कर सकता है?

नहीं। DeepSeek API एक भाषा-मॉडल एंडपॉइंट है: यह पाठ से निष्कर्ष निकालता है जो आप प्रदान करते हैं और अनुरोध जारी नहीं कर सकता, JavaScript को रेंडर नहीं कर सकता, या सत्र नहीं रख सकता। हर काम करने वाली DeepSeek स्क्रैपिंग सेटअप एक फ़ेच परत के साथ जोड़ा जाता है जो वफादार पृष्ठ सामग्री लौटाती है।

प्रश्न: मैं वेब स्क्रैपिंग के लिए कौन सा DeepSeek मॉडल उपयोग करूं?

निष्कर्षण के लिए deepseek-v4-flash - इस गाइड में लाइव रन ने इसका उपयोग किया और सभी 10 रिकॉर्ड सही टैग जोड़ियों के साथ लौटाए। केवल तब deepseek-v4-pro के लिए पहुंचें जब साफ़ इनपुट अभी भी गलत फ़ील्ड्स उत्पन्न करता है। नए कोड में पूर्ववत deepseek-chat और deepseek-reasoner नामों से बचें।

प्रश्न: निष्कर्षण के लिए बड़े नाम के मॉडल के बजाय DeepSeek का उपयोग क्यों करें?

बराबर योग्यता पर मूल्य। temperature=0 पर स्कीमा-सीमित निष्कर्षण एक सीमित कार्य है जिसे अधिकांश वर्तमान मॉडल पास करते हैं; जब सभी पास करते हैं, तो सबसे सस्ता पास करने वाला मॉडल जीत जाता है। यहां मापी गई रन ने 3,397 टोकन खर्च किए एक मॉडल पर जिसका मूल्य एक लाख इनपुट टोकन पर दस सेंट से कम है - उस दर पर, निष्कर्षण पाइपलाइन का महंगा हिस्सा नहीं रह जाता है।

प्रश्न: कब एक चयनकर्ता स्क्रिप्ट अभी भी DeepSeek से बेहतर है?

जब लेआउट साफ, स्थिर, और उच्च मात्रा में हो। एक समीक्षा की गई चयनकर्ता स्क्रिप्ट प्रति पृष्ठ हमेशा के लिए कोई लागत नहीं रखती; एक मॉडल कॉल हर बार टोकन खर्च करता है। काम करने वाला विभाजन: लक्ष्यों के स्थिर कोर के लिए चयनकर्ता, उलझे हुए मार्कअप और लेआउट के लिए DeepSeek जो लगातार बदलते हैं।

प्रश्न: क्या DeepSeek के साथ स्क्रैपिंग कानूनी है?

निष्कर्षण मॉडल संग्रह नियमों को नहीं बदलता है। केवल सार्वजनिक पृष्ठों को फ़ेच करें, साइट के नियमों और रोबोट रुकावट प्रोटोकॉल द्वारा मानकीकृत रोबोट निर्देशों का सम्मान करें, मात्रा सीमित रखें, और किसी भी व्यक्तिगत डेटा को लागू कानून के तहत संभालें - इसके अलावा मॉडल पक्ष पर DeepSeek की उपयोग शर्तें।

स्क्रैपलेस में, हम केवल सार्वजनिक रूप से उपलब्ध डेटा का उपयोग करते हैं, जबकि लागू कानूनों, विनियमों और वेबसाइट गोपनीयता नीतियों का सख्ती से अनुपालन करते हैं। इस ब्लॉग में सामग्री केवल प्रदर्शन उद्देश्यों के लिए है और इसमें कोई अवैध या उल्लंघन करने वाली गतिविधियों को शामिल नहीं किया गया है। हम इस ब्लॉग या तृतीय-पक्ष लिंक से जानकारी के उपयोग के लिए सभी देयता को कोई गारंटी नहीं देते हैं और सभी देयता का खुलासा करते हैं। किसी भी स्क्रैपिंग गतिविधियों में संलग्न होने से पहले, अपने कानूनी सलाहकार से परामर्श करें और लक्ष्य वेबसाइट की सेवा की शर्तों की समीक्षा करें या आवश्यक अनुमतियाँ प्राप्त करें।

सबसे लोकप्रिय लेख

सूची