प्रौद्योगिकी साझेदारी

AIGC क्रॉलर कोड उदाहरणम् : सामग्रीं क्रॉल कृत्वा सामग्रीं जनयितुं Scrapy तथा OpenAI API

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

क्रॉलर-उद्योगे मम बहुवर्षीय-अनुभवस्य कृते, विविध-माङ्ग-सङ्केतानां प्रोग्रामिंग् वस्तुतः अतीव कठिनं, सावधानीपूर्वकं च कार्यं भवति, एआइ-लोकप्रियतायाः कारणात् अहं चिन्तयामि यत् एआइ-स्वचालनस्य माध्यमेन इष्टं पाठ-सामग्री स्वयमेव गृहीतुं जनयितुं च शक्यते वा इति कार्यक्रमाः । आधारः अस्ति यत् अहं क्रॉलर-प्रौद्योगिकी (यथा Scrapy) तथा जनरेटिव एआइ मॉडल् (यथा GPT-4) च संयोजयित्वा तत् पूर्णं कर्तुं योजनां करोमि ।

AIGC crawler class इत्यस्य विषये मम विचाराः निम्नलिखितम् अस्ति, AIGC crawler application इत्यस्य निर्माणं कथं करणीयम् इति दर्शयति ।

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

1. आवश्यकानि आश्रयाणि संस्थापयन्तु

प्रथमं, सुनिश्चितं कुर्वन्तु यत् भवतां Scrapy तथा OpenAI’s API client libraries संस्थापितम् अस्ति ।

pip install scrapy openai
  • 1

2. OpenAI API विन्यस्तं कुर्वन्तु

भवतां समीपे OpenAI API कुञ्जी आवश्यकी अस्ति तथा च वातावरणचरं विन्यस्तुं वा प्रत्यक्षतया स्वस्य कोडमध्ये तस्य उपयोगः करणीयः ।

3. Scrapy क्रॉलरं रचयन्तु

अधः सामग्रीं स्क्रैप् कर्तुं नूतना सामग्रीं जनयितुं च मूलभूतं Scrapy क्रॉलर उदाहरणम् अस्ति ।

my_spider.py

import scrapy
import openai

class AIGCSpider(scrapy.Spider):
    name = 'aigc_spider'
    start_urls = ['http://example.com']

    def __init__(self, *args, **kwargs):
        super(AIGCSpider, self).__init__(*args, **kwargs)
        openai.api_key = 'your-openai-api-key'  # 替换为你的OpenAI API密钥

    def parse(self, response):
        # 提取网页内容
        content = response.xpath('//body//text()').getall()
        content = ' '.join(content).strip()

        # 使用OpenAI生成新内容
        generated_content = self.generate_content(content)

        # 处理生成的内容,如保存到文件
        with open('generated_content.txt', 'a') as f:
            f.write(generated_content + 'n')

        self.log(f"Generated content for {response.url}")

    def generate_content(self, prompt):
        try:
            response = openai.Completion.create(
                engine="davinci-codex",
                prompt=prompt,
                max_tokens=150
            )
            generated_text = response.choices[0].text.strip()
            return generated_text
        except Exception as e:
            self.log(f"Error generating content: {e}")
            return ""
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

4. Scrapy परियोजना विन्यस्तं कुर्वन्तु

अवश्यं कुरुतsettings.pyUSER_AGENT इत्यादीनां समुचितसेटिंग्स् विन्यस्य डाउनलोड् विलम्बः च ।

settings.py
BOT_NAME = 'aigc_bot'

SPIDER_MODULES = ['aigc_bot.spiders']
NEWSPIDER_MODULE = 'aigc_bot.spiders'

# 遵守robots.txt规则
ROBOTSTXT_OBEY = True

# 用户代理
USER_AGENT = 'aigc_bot (+http://www.yourdomain.com)'

# 下载延迟
DOWNLOAD_DELAY = 1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

5. क्रॉलरं चालयन्तु

आदेशपङ्क्तौ Scrapy क्रॉलरं चालयन्तु:

scrapy crawl aigc_spider
  • 1

6. विस्तारितानि कार्याणि

बहुपृष्ठानि सम्पादयन्तु

समीक्षा कुरूparsemethod, बहुपृष्ठानि नियन्त्रयितुं गहनं क्रॉलिंग् कर्तुं च सक्षमं करोति ।

def parse(self, response):
    # 提取网页内容
    content = response.xpath('//body//text()').getall()
    content = ' '.join(content).strip()

    # 使用OpenAI生成新内容
    generated_content = self.generate_content(content)

    # 处理生成的内容,如保存到文件
    with open('generated_content.txt', 'a') as f:
        f.write(f"URL: {response.url}n")
        f.write(generated_content + 'nn')

    self.log(f"Generated content for {response.url}")

    # 跟踪所有链接
    for href in response.css('a::attr(href)').get():
        yield response.follow(href, self.parse)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

अधिकानि बिल्ड् सेटिङ्ग्स् योजयन्तु

उत्पन्नसामग्रीणां मापदण्डान् समायोजयन्तु, यथा योजयितुंtemperatureतथाtop_pअधिकविविधसामग्रीजननार्थं पैरामीटर्स्।

def generate_content(self, prompt):
    try:
        response = openai.Completion.create(
            engine="davinci-codex",
            prompt=prompt,
            max_tokens=150,
            temperature=0.7,
            top_p=0.9
        )
        generated_text = response.choices[0].text.strip()
        return generated_text
    except Exception as e:
        self.log(f"Error generating content: {e}")
        return ""
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

उपरिष्टाद् अस्ति यत् अहं कथं Scrapy तथा OpenAI API इत्येतयोः संयोजनेन स्वयमेव वेबसाइट् सामग्रीं क्रॉल कृत्वा नूतना सामग्रीं जनयितुं AIGC क्रॉलर अनुप्रयोगं निर्मातुम् अर्हति। एषा पद्धतिः अनुप्रयोगपरिदृश्यानां कृते उपयुक्ता अस्ति येषु सामग्रीनिर्माणस्य, आँकडावर्धनम् इत्यादीनां बृहत् परिमाणेन सामग्रीजननस्य आवश्यकता भवति । व्यावहारिक-अनुप्रयोगेषु, अस्माकं अन्ते विविधप्रकारस्य क्रॉलर-आवश्यकतानां पूर्तये क्रॉलिंग्-जनरेशन-तर्कस्य अधिकं परिष्कृतं नियन्त्रणं अनुकूलनं च भवितुम् अर्हति