欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)word文檔內(nèi)容智能提取以及合成

 更新時(shí)間:2025年04月20日 14:26:22   作者:由數(shù)入道  
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)從10個(gè)左右的docx文檔中抽取內(nèi)容,再調(diào)整語(yǔ)言風(fēng)格后生成新的文檔,感興趣的小伙伴可以了解一下

如何從10個(gè)左右的docx文檔中抽取內(nèi)容,生成新的文檔,抽取內(nèi)容包括源文檔的文字內(nèi)容、圖片、表格、公式等,以及目標(biāo)文檔的樣式排版、字體、格式,還有目標(biāo)文檔的語(yǔ)言風(fēng)格、用詞規(guī)范、文法習(xí)慣等等。這是一個(gè)相當(dāng)復(fù)雜的需求,因?yàn)樗粌H涉及內(nèi)容提取,還涉及深度格式化和風(fēng)格模仿。完全自動(dòng)化的完美解決方案難度極高,特別是對(duì)于復(fù)雜的公式和微妙的語(yǔ)言風(fēng)格。

一個(gè)務(wù)實(shí)的方案是采用 自動(dòng)化 + 人工輔助 的混合策略。以下是詳細(xì)的思路、技術(shù)路徑、方法和步驟:

核心思路

內(nèi)容提取 (自動(dòng)化為主): 使用編程方式從源 DOCX 文件中提取所需的核心內(nèi)容(文字、圖片、表格、公式的某種表示)。

樣式應(yīng)用 (自動(dòng)化): 基于一個(gè)定義了目標(biāo)樣式、排版、字體等的 模板文檔,將提取的內(nèi)容插入新文檔,并應(yīng)用模板中定義的樣式。

語(yǔ)言風(fēng)格調(diào)整 (自動(dòng)化輔助 + 人工): 利用大型語(yǔ)言模型 (LLM) 或自然語(yǔ)言處理 (NLP) 技術(shù)對(duì)提取的文本進(jìn)行初步的風(fēng)格、用詞和文法調(diào)整,然后進(jìn)行人工審閱和精修。

復(fù)雜元素處理 (人工為主): 對(duì)于難以自動(dòng)處理的元素(如復(fù)雜公式、特定排版),進(jìn)行人工調(diào)整。

技術(shù)路徑

主要工具: Python 編程語(yǔ)言

核心庫(kù):

  • python-docx: 用于讀取和寫(xiě)入 DOCX 文件(文本、表格、圖片、基本樣式應(yīng)用)。
  • (可選) 用于公式處理: 可能需要解析 DOCX 的底層 XML (OOXML),或者尋找專(zhuān)門(mén)處理 MathML/OMML 的庫(kù)(這部分比較困難),或者將公式提取為圖片。
  • (可選) 用于圖片處理: Pillow (PIL Fork) 可能需要用于處理圖片。
  • (可選) 用于語(yǔ)言風(fēng)格調(diào)整: 調(diào)用大型語(yǔ)言模型 API (如 OpenAI GPT 系列、Google Gemini、或其他類(lèi)似服務(wù))。

輔助工具:

  • Microsoft Word: 用于創(chuàng)建模板文檔、最終審閱和調(diào)整。
  • XML 編輯器 (可選): 用于深入分析 DOCX 內(nèi)部結(jié)構(gòu)(特別是公式)。

實(shí)現(xiàn)步驟

階段一:準(zhǔn)備工作

1.創(chuàng)建目標(biāo)模板文檔 (template.docx):

  • 在 Word 中創(chuàng)建一個(gè)新文檔。
  • 定義樣式: 精心設(shè)置所有需要的樣式(標(biāo)題 1、標(biāo)題 2、正文、引用、列表、表格樣式等),包括字體、字號(hào)、顏色、段落間距、縮進(jìn)等。確保樣式名稱(chēng)清晰易懂(例如 TargetHeading1, TargetBodyText, TargetTableStyle)。
  • 設(shè)置頁(yè)面布局: 頁(yè)邊距、紙張大小、頁(yè)眉頁(yè)腳等。
  • 保存: 將此文檔保存為 template.docx。這將是所有新生成文檔的基礎(chǔ)。

2.明確提取規(guī)則:

關(guān)鍵: 你需要非常清楚地定義 哪些 內(nèi)容需要從每個(gè)源文檔中提取出來(lái)。規(guī)則可以基于:

  • 特定標(biāo)題: “提取 ‘第三章 方法’ 下的所有內(nèi)容”。
  • 特定樣式: “提取所有應(yīng)用了 ‘源文檔重點(diǎn)’ 樣式的內(nèi)容”。
  • 關(guān)鍵詞/標(biāo)記: “提取包含 ‘[EXTRACT]’ 標(biāo)記的段落”。
  • 結(jié)構(gòu)位置: “提取每個(gè)文檔的第二個(gè)表格”。
  • 人工指定: (最靈活但最慢) 手動(dòng)在源文檔中標(biāo)記要提取的內(nèi)容(例如使用 Word 的批注功能或特定高亮顏色),然后讓腳本識(shí)別這些標(biāo)記。
  • 文檔化規(guī)則: 將這些規(guī)則清晰地記錄下來(lái),以便編寫(xiě)腳本。

3.設(shè)置開(kāi)發(fā)環(huán)境:

安裝 Python。

使用 pip 安裝必要的庫(kù):

pip install python-docx Pillow requests # 如果需要調(diào)用 LLM API
# 可能需要其他庫(kù),取決于具體實(shí)現(xiàn)

(可選) 獲取 LLM API 密鑰。

階段二:內(nèi)容提取 (Python 腳本)

import os
from docx import Document
from docx.shared import Inches
# 可能需要導(dǎo)入其他模塊,如處理 XML 或調(diào)用 API

# --- 配置 ---
SOURCE_DOCS_DIR = 'files/transform/docx/source_documents'
TARGET_TEMPLATE = 'files/transform/docx/template.docx'
OUTPUT_DOC_PATH = 'files/transform/docx/generated_document.docx'
EXTRACTION_RULES = { # 示例規(guī)則,需要根據(jù)你的實(shí)際情況修改
    'source_doc_1.docx': {'heading_start': 'Chapter 3', 'heading_end': 'Chapter 4'},
    'source_doc_2.docx': {'style_name': 'SourceHighlight'},
    # ... 其他文檔的規(guī)則
}

# --- 輔助函數(shù) (示例) ---
def should_extract_paragraph(paragraph, rules):
    # 實(shí)現(xiàn)基于規(guī)則判斷段落是否應(yīng)該提取的邏輯
    # 例如:檢查段落文本是否匹配、樣式是否匹配等
    # 返回 True 或 False
    # (這部分邏輯需要根據(jù)你的具體規(guī)則編寫(xiě))
    style_name = paragraph.style.name
    text = paragraph.text.strip()
    # 示例:基于樣式的簡(jiǎn)單規(guī)則
    if 'style_name' in rules and style_name == rules['style_name']:
        return True
    # 示例:基于起始標(biāo)題的簡(jiǎn)單規(guī)則(需要狀態(tài)管理)
    # if 'heading_start' in rules ... (需要更復(fù)雜的邏輯來(lái)跟蹤當(dāng)前章節(jié))
    return False # 默認(rèn)不提取

def extract_content_from_doc(source_path, rules):
    """從單個(gè)源文檔提取內(nèi)容"""
    extracted_elements = []
    try:
        source_doc = Document(source_path)
        # 標(biāo)記是否處于提取區(qū)域(例如,在特定章節(jié)之間)
        in_extraction_zone = False # 需要根據(jù)規(guī)則調(diào)整初始狀態(tài)

        for element in source_doc.element.body:
            # 處理不同類(lèi)型的元素:段落、表格等
            if element.tag.endswith('p'): # 是段落
                paragraph = docx.text.paragraph.Paragraph(element, source_doc)

                # --- 核心提取邏輯 ---
                # 這里需要根據(jù)你的 EXTRACTION_RULES 實(shí)現(xiàn)復(fù)雜的判斷邏輯
                # 例如,判斷是否遇到起始標(biāo)題,是否遇到結(jié)束標(biāo)題,段落樣式是否匹配等
                # 這是一個(gè)簡(jiǎn)化的示例,實(shí)際可能需要更精細(xì)的狀態(tài)管理
                if 'heading_start' in rules and paragraph.style.name.startswith('Heading') and rules['heading_start'] in paragraph.text:
                    in_extraction_zone = True
                    continue # 不提取起始標(biāo)題本身?看需求
                if 'heading_end' in rules and paragraph.style.name.startswith('Heading') and rules['heading_end'] in paragraph.text:
                    in_extraction_zone = False
                    continue # 到達(dá)結(jié)束標(biāo)題,停止提取

                if in_extraction_zone or should_extract_paragraph(paragraph, rules):
                     # 提取文本內(nèi)容
                    text_content = paragraph.text
                     # 嘗試提取基本格式(粗體、斜體) - 比較復(fù)雜,可能需要遍歷 runs
                    # TODO: 提取圖片 (需要檢查段落中的 inline_shapes 或 runs 中的 drawing)
                    # TODO: 提取公式 (極具挑戰(zhàn)性,見(jiàn)下文討論)
                    extracted_elements.append({'type': 'paragraph', 'text': text_content, 'style': paragraph.style.name}) # 可以攜帶源樣式名供參考

            elif element.tag.endswith('tbl'): # 是表格
                table = docx.table.Table(element, source_doc)
                # --- 提取表格 ---
                # TODO: 實(shí)現(xiàn)表格提取邏輯,可能需要檢查是否在提取區(qū)域內(nèi)
                # if in_extraction_zone or table_should_be_extracted(table, rules):
                table_data = []
                for row in table.rows:
                    row_data = [cell.text for cell in row.cells]
                    table_data.append(row_data)
                extracted_elements.append({'type': 'table', 'data': table_data})

            # --- 處理圖片 ---
            # 查找段落內(nèi)的圖片 (inline_shapes)
            # paragraph = docx.text.paragraph.Paragraph(element, source_doc) # Re-get paragraph object if needed
            # for run in paragraph.runs:
            #     if run.element.xpath('.//wp:inline | .//wp:anchor'): # Check for drawings
            #         # This part is complex: need to get image data (rId) and relate it back
            #         # to the actual image part in the docx package.
            #         # python-docx can extract images, but associating them perfectly
            #         # with their original position during extraction requires care.
            #         # Placeholder:
            #         # image_data = get_image_data(run, source_doc)
            #         # if image_data:
            #         #    extracted_elements.append({'type': 'image', 'data': image_data, 'filename': f'img_{len(extracted_elements)}.png'})
            pass # Placeholder for image extraction logic

    except Exception as e:
        print(f"Error processing {source_path}: {e}")
    return extracted_elements

# --- 主流程 ---
all_extracted_content = []
source_files = [f for f in os.listdir(SOURCE_DOCS_DIR) if f.endswith('.docx')]

for filename in source_files:
    source_path = os.path.join(SOURCE_DOCS_DIR, filename)
    rules = EXTRACTION_RULES.get(filename, {}) # 獲取該文件的提取規(guī)則
    if rules: # 只處理定義了規(guī)則的文件
        print(f"Extracting from: {filename}")
        content = extract_content_from_doc(source_path, rules)
        all_extracted_content.extend(content)
    else:
        print(f"Skipping {filename}, no rules defined.")

print(f"Total elements extracted: {len(all_extracted_content)}")

階段三:語(yǔ)言風(fēng)格調(diào)整 (可選, Python + LLM API)

# --- ---
import requests
import json

# --- 配置 LLM ---
LLM_API_URL = "YOUR_LLM_API_ENDPOINT" # e.g., OpenAI API URL
LLM_API_KEY = "YOUR_LLM_API_KEY"
LLM_PROMPT_TEMPLATE = """
請(qǐng)根據(jù)以下要求,改寫(xiě)這段文字:
目標(biāo)語(yǔ)言風(fēng)格:[在此處詳細(xì)描述,例如:正式、客觀、簡(jiǎn)潔]
用詞規(guī)范:[在此處列出規(guī)范,例如:使用“用戶(hù)”而非“客戶(hù)”,避免使用縮寫(xiě)]
文法習(xí)慣:[在此處描述,例如:多使用主動(dòng)語(yǔ)態(tài),句子長(zhǎng)度適中]
目標(biāo)受眾:[描述目標(biāo)讀者]

原文:
"{text}"

改寫(xiě)后的文字:
"""

def adapt_text_style(text):
    """使用 LLM API 調(diào)整文本風(fēng)格"""
    if not text.strip():
        return text # 跳過(guò)空文本

    prompt = LLM_PROMPT_TEMPLATE.format(text=text)
    headers = {
        "Authorization": f"Bearer {LLM_API_KEY}",
        "Content-Type": "application/json",
    }
    data = {
        "model": "gpt-4", # 或你使用的模型
        "prompt": prompt,
        "max_tokens": 1024, # 根據(jù)需要調(diào)整
        "temperature": 0.5, # 控制創(chuàng)造性,較低值更保守
    }
    try:
        response = requests.post(LLM_API_URL, headers=headers, json=data)
        response.raise_for_status() # 檢查 HTTP 錯(cuò)誤
        result = response.json()
        # 解析 LLM 返回的結(jié)果,注意不同 API 的格式可能不同
        rewritten_text = result['choices'][0]['text'].strip() # 示例路徑
        print(f"Original: {text[:50]}... | Rewritten: {rewritten_text[:50]}...")
        return rewritten_text
    except requests.exceptions.RequestException as e:
        print(f"Error calling LLM API: {e}")
        return text # 出錯(cuò)時(shí)返回原文
    except (KeyError, IndexError) as e:
        print(f"Error parsing LLM response: {e} - Response: {response.text}")
        return text # 出錯(cuò)時(shí)返回原文

# --- 應(yīng)用風(fēng)格調(diào)整 ---
adjusted_content = []
for element in all_extracted_content:
    if element['type'] == 'paragraph':
        # --- 調(diào)用 LLM API ---
        # adjusted_text = adapt_text_style(element['text'])
        # element['text'] = adjusted_text # 更新文本
        # --- 或者先不調(diào)用,等生成后再處理 ---
        adjusted_content.append(element)
    elif element['type'] == 'table':
         # 表格內(nèi)容也可以逐個(gè)單元格處理,但可能效果不佳或成本高
         # 更好的方法可能是將表格內(nèi)容整理成文本描述給 LLM,或者人工處理
         adjusted_content.append(element)
    elif element['type'] == 'image':
         # 圖片無(wú)法直接處理
         adjusted_content.append(element)
    # 處理其他類(lèi)型...

# --- (接續(xù)到下一階段:文檔生成) ---

階段四:生成目標(biāo)文檔 (Python 腳本)

# --- (續(xù)上) ---

# --- 創(chuàng)建目標(biāo)文檔 (基于模板) ---
try:
    target_doc = Document(TARGET_TEMPLATE)
except Exception as e:
    print(f"Error loading template {TARGET_TEMPLATE}: {e}")
    # 可以考慮創(chuàng)建一個(gè)空文檔作為后備
    # target_doc = Document()
    exit()


# --- 填充內(nèi)容并應(yīng)用樣式 ---
for element in adjusted_content: # 使用調(diào)整后的內(nèi)容,或者原始提取內(nèi)容
    if element['type'] == 'paragraph':
        text = element['text']
        # --- 核心:應(yīng)用模板中定義的樣式 ---
        # 簡(jiǎn)單方式:所有段落應(yīng)用默認(rèn)正文樣式
        # target_doc.add_paragraph(text, style='TargetBodyText') # 假設(shè)模板中有此樣式

        # 復(fù)雜方式:根據(jù)源文檔信息或內(nèi)容判斷應(yīng)用哪個(gè)目標(biāo)樣式
        # 示例:如果源樣式是 Heading 1,應(yīng)用 TargetHeading1
        source_style = element.get('style', '') # 獲取源樣式名(如果提取時(shí)保存了)
        if source_style.startswith('Heading 1'):
             target_doc.add_paragraph(text, style='TargetHeading1') # 假設(shè)模板中有此樣式
        elif source_style.startswith('Heading 2'):
             target_doc.add_paragraph(text, style='TargetHeading2')
        # ... 其他樣式映射規(guī)則
        else:
             target_doc.add_paragraph(text, style='TargetBodyText') # 默認(rèn)樣式

    elif element['type'] == 'table':
        table_data = element['data']
        if table_data:
            # 創(chuàng)建表格
            num_rows = len(table_data)
            num_cols = len(table_data[0]) if num_rows > 0 else 0
            if num_rows > 0 and num_cols > 0:
                # --- 應(yīng)用模板中定義的表格樣式 ---
                table = target_doc.add_table(rows=num_rows, cols=num_cols, style='TargetTableStyle') # 假設(shè)模板中有此表格樣式
                # 填充數(shù)據(jù)
                for i, row_data in enumerate(table_data):
                    for j, cell_text in enumerate(row_data):
                        # 防止列數(shù)不匹配錯(cuò)誤
                        if j < len(table.rows[i].cells):
                            table.rows[i].cells[j].text = cell_text
                # 可以添加更多表格格式化代碼,如設(shè)置列寬等

    elif element['type'] == 'image':
        # --- 添加圖片 ---
        # image_data = element['data']
        # image_filename = element['filename']
        # # 需要將 image_data 保存為臨時(shí)文件或使用 BytesIO
        # from io import BytesIO
        # image_stream = BytesIO(image_data)
        # try:
        #    target_doc.add_picture(image_stream, width=Inches(4.0)) # 調(diào)整寬度
        # except Exception as e:
        #    print(f"Error adding image {image_filename}: {e}")
        pass # Placeholder for image insertion

    # --- 處理公式 (挑戰(zhàn)) ---
    # 如果公式被提取為圖片:
    #   elif element['type'] == 'formula_image':
    #       # 添加圖片...
    # 如果公式被提取為 MathML/OMML (XML 字符串):
    #   elif element['type'] == 'formula_mathml':
    #       # 使用 python-docx 直接插入 MathML 很困難
    #       # 可能需要直接操作 OOXML (非常復(fù)雜)
    #       # 或者,在段落中插入一個(gè)占位符 "[FORMULA]",然后手動(dòng)替換
    #       target_doc.add_paragraph(f"[FORMULA: {element['id']}]", style='TargetBodyText')
    # 如果公式被提取為純文本近似值:
    #   elif element['type'] == 'formula_text':
    #       target_doc.add_paragraph(element['text'], style='FormulaStyle') # 可能需要特殊樣式

# --- 保存最終文檔 ---
try:
    target_doc.save(OUTPUT_DOC_PATH)
    print(f"Document successfully generated: {OUTPUT_DOC_PATH}")
except Exception as e:
    print(f"Error saving document: {e}")

階段五:人工審閱與精修

1.打開(kāi)生成的文檔 (generated_document.docx)。

2.檢查整體結(jié)構(gòu)和內(nèi)容完整性: 是否所有需要的內(nèi)容都被提取并放置在正確的位置?

3.檢查樣式和格式:

  • 所有文本是否應(yīng)用了正確的模板樣式?
  • 字體、字號(hào)、間距是否符合要求?
  • 表格樣式是否正確?列寬、對(duì)齊是否需要調(diào)整?
  • 圖片位置和大小是否合適?

4.檢查語(yǔ)言風(fēng)格和規(guī)范:

  • 通讀文本,檢查語(yǔ)氣、用詞是否符合目標(biāo)要求。
  • 修正 LLM 可能產(chǎn)生的錯(cuò)誤或不自然的表達(dá)。
  • 確保術(shù)語(yǔ)統(tǒng)一。
  • 進(jìn)行拼寫(xiě)和語(yǔ)法檢查。

5.處理復(fù)雜元素:

公式: 這是最可能需要手動(dòng)操作的地方。如果腳本插入了占位符,你需要手動(dòng)將源文檔中的公式復(fù)制粘貼過(guò)來(lái),或者使用 Word 的公式編輯器重新創(chuàng)建它們。確保公式的編號(hào)和引用正確。

特殊排版: 檢查是否有需要特殊布局(如圖文混排、分欄等)的地方,并手動(dòng)調(diào)整。

6.最終定稿: 保存修改后的文檔。

關(guān)于公式處理的挑戰(zhàn)與策略

難點(diǎn): DOCX 中的公式通常使用 OMML (Office Math Markup Language) 存儲(chǔ),嵌套在復(fù)雜的 XML 結(jié)構(gòu)中。python-docx 對(duì)此支持有限。

策略:

  • 提取為圖片 (最可行): 嘗試在提取階段將公式渲染或截圖為圖片。這會(huì)丟失編輯能力,但能保證視覺(jué)效果。實(shí)現(xiàn)起來(lái)也有難度,可能需要借助其他工具或庫(kù)(如 docx2python 庫(kù)可能提供一些幫助,或者需要分析 OOXML 找到圖片表示)。
  • 提取為 MathML/OMML (復(fù)雜): 解析 OOXML,提取公式的 XML 片段。但 python-docx 無(wú)法直接將這些 XML 重新插入并渲染為公式。需要非常底層的 OOXML 操作。
  • 提取為近似文本 (簡(jiǎn)單但損失精度): python-docx 讀取包含公式的段落 text 屬性時(shí),有時(shí)會(huì)得到一個(gè)純文本的近似表示。這對(duì)于簡(jiǎn)單公式可能夠用,但復(fù)雜公式會(huì)完全失真。
  • 手動(dòng)處理 (最可靠): 在腳本中識(shí)別出公式位置,插入占位符,然后在人工審閱階段手動(dòng)復(fù)制/創(chuàng)建公式。

總結(jié)

這是一個(gè)多階段、結(jié)合自動(dòng)化和人工的過(guò)程。

自動(dòng)化強(qiáng)項(xiàng): 重復(fù)性的內(nèi)容提取、基于模板的樣式應(yīng)用、初步的文本風(fēng)格轉(zhuǎn)換(使用 LLM)。

人工介入點(diǎn): 定義精確的提取規(guī)則、處理復(fù)雜公式、精調(diào)語(yǔ)言風(fēng)格和術(shù)語(yǔ)、最終的格式微調(diào)和質(zhì)量檢查。

投入時(shí)間最多的部分將是 編寫(xiě)和調(diào)試提取邏輯 以及 最終的人工審閱和修正。務(wù)必從少量文檔和簡(jiǎn)單規(guī)則開(kāi)始,逐步迭代和完善你的腳本。

以上就是Python實(shí)現(xiàn)word文檔內(nèi)容智能提取以及合成的詳細(xì)內(nèi)容,更多關(guān)于Python word文檔內(nèi)容提取與合成的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python pymysql操作MySQL詳細(xì)

    Python pymysql操作MySQL詳細(xì)

    pymysql是Python3.x中操作MySQL數(shù)據(jù)庫(kù)的模塊,其兼容于MySQLdb,使用方法也與MySQLdb幾乎相同,但是性能不如MySQLdb,但是由于其安裝使用方便、對(duì)中文兼容性也更好等優(yōu)點(diǎn),被廣泛使用。可以使用pip install pymysql進(jìn)行安裝。
    2021-09-09
  • python獲取地震信息 微信實(shí)時(shí)推送

    python獲取地震信息 微信實(shí)時(shí)推送

    這篇文章主要為大家詳細(xì)介紹了python獲取地震信息,微信實(shí)時(shí)推送,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • django中的圖片驗(yàn)證碼功能

    django中的圖片驗(yàn)證碼功能

    這篇文章主要介紹了django中的圖片驗(yàn)證碼功能,需要的朋友可以參考下
    2019-09-09
  • Python實(shí)現(xiàn)上課點(diǎn)名器系統(tǒng)

    Python實(shí)現(xiàn)上課點(diǎn)名器系統(tǒng)

    今天給大家分享一個(gè)讀者粉絲投稿的,關(guān)于上課點(diǎn)名的實(shí)戰(zhàn)案例,對(duì)Python上課點(diǎn)名器實(shí)現(xiàn)過(guò)程感興趣的朋友,一起來(lái)看看是如何實(shí)現(xiàn)的吧
    2021-10-10
  • Python內(nèi)建類(lèi)型str源碼學(xué)習(xí)

    Python內(nèi)建類(lèi)型str源碼學(xué)習(xí)

    這篇文章主要為大家介紹了Python內(nèi)建類(lèi)型str的源碼學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • python scrapy框架中Request對(duì)象和Response對(duì)象的介紹

    python scrapy框架中Request對(duì)象和Response對(duì)象的介紹

    本文介紹了python基礎(chǔ)之scrapy框架中Request對(duì)象和Response對(duì)象的介紹,Request對(duì)象主要是用來(lái)請(qǐng)求數(shù)據(jù),爬取一頁(yè)的數(shù)據(jù)重新發(fā)送一個(gè)請(qǐng)求的時(shí)候調(diào)用,Response對(duì)象一般是由scrapy給你自動(dòng)構(gòu)建的,因此開(kāi)發(fā)者不需要關(guān)心如何創(chuàng)建Response對(duì)象,下面來(lái)一起來(lái)了解更多內(nèi)容吧
    2022-02-02
  • JAVA SWT事件四種寫(xiě)法實(shí)例解析

    JAVA SWT事件四種寫(xiě)法實(shí)例解析

    這篇文章主要介紹了JAVA SWT事件四種寫(xiě)法實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Python面向?qū)ο缶幊讨嘘P(guān)于類(lèi)和方法的學(xué)習(xí)筆記

    Python面向?qū)ο缶幊讨嘘P(guān)于類(lèi)和方法的學(xué)習(xí)筆記

    類(lèi)與類(lèi)方法是面向?qū)ο蟮木幊陶Z(yǔ)言中必不可少的特性,本文總結(jié)了Python面向?qū)ο缶幊讨嘘P(guān)于類(lèi)和方法的學(xué)習(xí)筆記,需要的朋友可以參考下
    2016-06-06
  • Python+Selenium鍵盤(pán)鼠標(biāo)模擬事件操作詳解

    Python+Selenium鍵盤(pán)鼠標(biāo)模擬事件操作詳解

    這篇文章主要帶大家一起學(xué)習(xí)一下Selenium的元素的基本操作與鼠標(biāo)鍵盤(pán)模擬事件的操作,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-06-06
  • python正則匹配抓取豆瓣電影鏈接和評(píng)論代碼分享

    python正則匹配抓取豆瓣電影鏈接和評(píng)論代碼分享

    抓取豆瓣各類(lèi)型電影的鏈接和評(píng)論,按評(píng)分排列
    2013-12-12

最新評(píng)論