精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

數(shù)據(jù)提取新姿勢(shì):SpringBoot 遇上 Apache Tika,效率直接起飛!

開發(fā) 開發(fā)工具
Spring Boot 提供了穩(wěn)定的運(yùn)行框架,而 Apache Tika 則是數(shù)據(jù)提取的核心引擎。兩者結(jié)合,幾乎可以應(yīng)對(duì)市面上所有主流文件格式的解析需求。

在日常開發(fā)中,我們經(jīng)常需要與各種文件打交道:

  • 有時(shí)要從 PDF 報(bào)告中提煉出文字內(nèi)容;
  • 有時(shí)需要從 Word 文檔中抽取關(guān)鍵信息;
  • 還有時(shí)候要在 Excel 表格中篩選有效數(shù)據(jù)。

這些看似簡(jiǎn)單的需求,實(shí)際操作起來卻往往充滿挑戰(zhàn)。不同的文件各自有獨(dú)特的內(nèi)部結(jié)構(gòu)與編碼方式,直接解析時(shí)可能出現(xiàn)亂碼、丟字、排版錯(cuò)亂等問題。比如:

  • PDF 為了保證跨平臺(tái)顯示一致性,內(nèi)部存儲(chǔ)方式復(fù)雜,直接解析容易出現(xiàn)亂碼;
  • Word 文檔含有豐富的段落樣式、頁眉頁腳等元素,提取時(shí)需要精準(zhǔn)區(qū)分;
  • Excel 則存在合并單元格、不同數(shù)據(jù)類型等問題,提取難度更高。

如果能有一個(gè)通用工具,能夠智能識(shí)別文件類型,并自動(dòng)幫我們提取文本和元數(shù)據(jù),就能極大簡(jiǎn)化工作流程。

好消息是,Spring Boot + Apache Tika 的組合恰好能解決這個(gè)痛點(diǎn):前者提供穩(wěn)定的框架和依賴管理,后者則是數(shù)據(jù)提取領(lǐng)域的“瑞士軍刀”。接下來我們將深入解析這一組合,帶你快速上手。

Apache Tika 簡(jiǎn)介:文件解析的全能選手

Apache Tika 是 Apache 軟件基金會(huì)推出的一款開源工具包,核心目標(biāo)是從不同文件格式中提取結(jié)構(gòu)化文本和元數(shù)據(jù)。

它的優(yōu)勢(shì)主要體現(xiàn)在以下幾個(gè)方面:

  1. 支持廣泛的文件類型
  • 辦公文檔:.doc / .docx、.xls / .xlsx、.ppt / .pptx
  • PDF 文檔
  • HTML / XML
  • 圖片(JPEG、PNG)、音頻(MP3)、視頻(MP4)
  • 郵件(EML)、壓縮包(ZIP、TAR)等 覆蓋超過 1500 種文件類型。
  1. 精準(zhǔn)的文件類型檢測(cè) 不依賴擴(kuò)展名,而是通過分析文件內(nèi)容來識(shí)別類型。即使文件后綴名被改錯(cuò),Tika 也能識(shí)別。
  2. 強(qiáng)大的元數(shù)據(jù)提取能力 能提取文檔作者、創(chuàng)建時(shí)間、文件大小、關(guān)鍵詞等信息,為文件檢索、管理提供支持。
  3. 高效的文本提取能力 無論是復(fù)雜的 PDF,還是多樣格式的 Word/Excel,Tika 都能完整挖掘其中的文字內(nèi)容。

一句話:Tika 就像一個(gè)多語言翻譯官,能讀懂各種文件“語言”,并提取出我們想要的內(nèi)容。

Spring Boot 集成 Apache Tika

添加依賴

在 pom.xml 中加入:

<dependencies>
    <!-- Spring Boot Web -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>


    <!-- Apache Tika -->
    <dependency>
        <groupId>org.apache.tika</groupId>
        <artifactId>tika-core</artifactId>
        <version>2.9.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tika</groupId>
        <artifactId>tika-parsers-standard-package</artifactId>
        <version>2.9.2</version>
    </dependency>


    <!-- Thymeleaf 模板引擎 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
</dependencies>
  • tika-core:Tika 的核心能力,包含類型檢測(cè)與基礎(chǔ)解析。
  • tika-parsers:內(nèi)置各種文件格式的解析器,是支持多格式解析的關(guān)鍵。

YAML 配置文件

spring:
  servlet:
    multipart:
      max-file-size: 20MB
      max-request-size: 20MB


file:
  upload-dir: ./uploads

編碼配置

在 src/main/resources/tika-config.xml 中添加:

<?xml version="1.0" encoding="UTF-8"?>
<properties>
    <encodingDetectors>
        <encodingDetector class="org.apache.tika.parser.html.HtmlEncodingDetector">
            <params>
                <param name="markLimit" type="int">64000</param>
            </params>
        </encodingDetector>
        <encodingDetector class="org.apache.tika.parser.txt.UniversalEncodingDetector">
            <params>
                <param name="markLimit" type="int">64001</param>
            </params>
        </encodingDetector>
        <encodingDetector class="org.apache.tika.parser.txt.Icu4jEncodingDetector">
            <params>
                <param name="markLimit" type="int">64002</param>
            </params>
        </encodingDetector>
    </encodingDetectors>
</properties>

這里我們配置了多種編碼檢測(cè)器,保證不同文件的字符編碼能被正確識(shí)別。

Spring Boot 配置類

在 src/main/java/com/icoderoad/config/TikaConfig.java 中:

package com.icoderoad.config;


import org.apache.tika.Tika;
import org.apache.tika.config.TikaConfig;
import org.apache.tika.detect.Detector;
import org.apache.tika.exception.TikaException;
import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.parser.Parser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
import org.xml.sax.SAXException;


import java.io.IOException;
import java.io.InputStream;


@Configuration
public class TikaConfiguration {


    @Autowired
    private ResourceLoader resourceLoader;


    @Bean
    public Tika tika() throws IOException, TikaException, SAXException {
        Resource resource = resourceLoader.getResource("classpath:tika-config.xml");
        InputStream inputStream = resource.getInputStream();
        TikaConfig config = new TikaConfig(inputStream);
        Detector detector = config.getDetector();
        Parser parser = new AutoDetectParser(config);
        return new Tika(detector, parser);
    }
}

這樣我們就把 Tika 實(shí)例注冊(cè)到 Spring 容器中,其他組件可以直接注入使用。

實(shí)戰(zhàn):解析不同類型的文件

服務(wù)類

在 src/main/java/com/icoderoad/service/FileParserService.java:

package com.icoderoad.tika.service;


import org.apache.tika.Tika;
import org.apache.tika.exception.TikaException;
import org.springframework.stereotype.Service;


import java.io.File;
import java.io.IOException;


@Service
public class FileParserService {


    private final Tika tika = new Tika();


    /**
     * 使用 Tika 解析文件內(nèi)容
     * @param file 上傳的文件
     * @return 文件解析出的文本內(nèi)容
     * @throws IOException
     * @throws TikaException
     */
    public String parseFile(File file) throws IOException, TikaException {
        return tika.parseToString(file);
    }
}

測(cè)試類

在 src/test/java/com/icoderoad/service/FileParserServiceTest.java:

package com.icoderoad.service;


import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;


@SpringBootTest
public class FileParserServiceTest {


    @Autowired
    private FileParserService fileParserService;


    @Test
    void testParseTxt() {
        String content = fileParserService.parseFile("src/test/resources/sample.txt");
        System.out.println("TXT 內(nèi)容: " + content);
    }


    @Test
    void testParsePdf() {
        String content = fileParserService.parseFile("src/test/resources/sample.pdf");
        System.out.println("PDF 內(nèi)容: " + content);
    }


    @Test
    void testParseWord() {
        String content = fileParserService.parseFile("src/test/resources/sample.docx");
        System.out.println("Word 內(nèi)容: " + content);
    }
}

不論是 TXT、PDF 還是 Word,我們都能用相同的接口解析,極大地降低了開發(fā)復(fù)雜度。

文件上傳與內(nèi)容解析

我們?cè)?nbsp;com.icoderoad.tika.controller 包下創(chuàng)建 FileController.java,用于接收上傳的文件并用 Tika 解析內(nèi)容。

package com.icoderoad.tika.controller;


import com.icoderoad.tika.service.FileParserService;
import org.apache.tika.exception.TikaException;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;


import java.io.File;
import java.io.IOException;


@Controller
public class FileController {


    private final FileParserService fileParserService;


    @Value("${file.upload-dir}")
    private String uploadDir;


    public FileController(FileParserService fileParserService) {
        this.fileParserService = fileParserService;
    }


    // 頁面入口
    @GetMapping("/")
    public String index() {
        return "upload";
    }


    // 文件上傳并解析
    @PostMapping("/upload")
    public String uploadFile(@RequestParam("file") MultipartFile file, Model model) {
        if (file.isEmpty()) {
            model.addAttribute("message", "請(qǐng)選擇一個(gè)文件上傳!");
            return "upload";
        }


        try {
            // 將文件保存到本地
            File dest = new File(uploadDir, file.getOriginalFilename());
            file.transferTo(dest);


            // 調(diào)用服務(wù)層解析
            String content = fileParserService.parseFile(dest);


            model.addAttribute("filename", file.getOriginalFilename());
            model.addAttribute("content", content);


        } catch (IOException | TikaException e) {
            model.addAttribute("message", "文件解析失?。? + e.getMessage());
        }


        return "upload";
    }
}

前端頁面(Thymeleaf + Bootstrap + JS)

在 src/main/resources/templates/upload.html 創(chuàng)建上傳頁面。

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>文檔解析示例</title>
    <link  rel="stylesheet">
</head>
<body class="bg-light">


<div class="container mt-5">
    <div class="card shadow-lg">
        <div class="card-header bg-primary text-white">
            <h4 class="mb-0">?? 上傳文檔并解析內(nèi)容</h4>
        </div>
        <div class="card-body">
            <form id="uploadForm" th:action="@{/upload}" method="post" enctype="multipart/form-data" class="mb-3">
                <div class="mb-3">
                    <label for="file" class="form-label">選擇文件:</label>
                    <input type="file" class="form-control" id="file" name="file" required>
                </div>
                <button type="submit" class="btn btn-success">上傳并解析</button>
            </form>


            <!-- 上傳提示信息 -->
            <div th:if="${message}" class="alert alert-warning" th:text="${message}"></div>


            <!-- 文件名展示 -->
            <div th:if="${filename}" class="mb-3">
                <h5>文件名:<span th:text="${filename}"></span></h5>
            </div>


            <!-- 解析結(jié)果展示 -->
            <div th:if="${content}">
                <h5>解析結(jié)果:</h5>
                <pre class="bg-light p-3 border rounded" th:text="${content}"></pre>
            </div>
        </div>
    </div>
</div>


<script>
    // 前端小功能:防止未選擇文件就提交
    document.getElementById("uploadForm").addEventListener("submit", function(e) {
        const fileInput = document.getElementById("file");
        if (!fileInput.value) {
            e.preventDefault();
            alert("請(qǐng)先選擇一個(gè)文件!");
        }
    });
</script>


</body>
</html>

運(yùn)行效果:

  1. 啟動(dòng) Spring Boot 項(xiàng)目后,訪問 http://localhost:8080/
  2. 選擇一個(gè) Word、PDF、TXT 等文件上傳
  3. 系統(tǒng)會(huì)自動(dòng)調(diào)用 Apache Tika 解析文件內(nèi)容,并在頁面下方展示結(jié)果

示例效果:

  • 上傳一個(gè) PDF,頁面展示文本內(nèi)容
  • 上傳一個(gè) Word,自動(dòng)抽取文檔正文
  • 上傳一個(gè) TXT,直接展示文本

應(yīng)用場(chǎng)景拓展

  • 數(shù)字資產(chǎn)管理:快速提取圖片拍攝時(shí)間、視頻幀率、文檔作者等元數(shù)據(jù),支持高效分類與檢索。
  • 企業(yè)知識(shí)管理:提取 Word、PDF 報(bào)告中的核心內(nèi)容,自動(dòng)生成摘要,提升內(nèi)部知識(shí)共享效率。
  • 社交媒體分析:提取文本做情感分析,解析圖片/視頻元數(shù)據(jù),實(shí)現(xiàn)精準(zhǔn)內(nèi)容推薦。

結(jié)語

在這篇文章中,我們完整演示了 Spring Boot 整合 Apache Tika 的實(shí)戰(zhàn)過程:

  • 從依賴配置,到自定義編碼檢測(cè)器;
  • 從統(tǒng)一的服務(wù)類封裝,到多格式文件解析;
  • 再到實(shí)際業(yè)務(wù)場(chǎng)景的應(yīng)用拓展。

可以看到,Spring Boot 提供了穩(wěn)定的運(yùn)行框架,而 Apache Tika 則是數(shù)據(jù)提取的核心引擎。兩者結(jié)合,幾乎可以應(yīng)對(duì)市面上所有主流文件格式的解析需求。

無論是企業(yè)級(jí)知識(shí)庫建設(shè)、數(shù)字資產(chǎn)管理,還是大規(guī)模社交數(shù)據(jù)處理,這一組合都能讓數(shù)據(jù)提取變得輕松高效。

換句話說:有了 Spring Boot + Tika,你就能為復(fù)雜的文件解析問題,找到一個(gè)優(yōu)雅而高效的解決方案。

責(zé)任編輯:武曉燕 來源: 路條編程
相關(guān)推薦

2025-09-10 09:31:04

2025-10-30 07:40:31

2025-04-28 04:22:00

Spring動(dòng)態(tài)SQL

2025-11-20 02:25:00

Vs CodeClaudeCursor

2022-04-01 10:08:21

SQL 優(yōu)化MySQL數(shù)據(jù)庫

2024-01-10 09:18:58

RustAIGPT

2022-11-07 09:25:02

Kafka存儲(chǔ)架構(gòu)

2024-06-25 12:10:26

2023-12-28 10:01:05

ChatGPT技巧信息

2025-07-09 09:32:21

2018-03-06 17:24:57

2022-12-29 08:43:43

項(xiàng)目接口請(qǐng)求

2025-06-05 00:00:00

項(xiàng)目接口合并

2025-08-26 03:00:00

加密Spring存儲(chǔ)

2024-10-28 07:10:00

scroll標(biāo)記前端網(wǎng)格布局

2025-02-17 11:41:14

2025-09-23 08:00:52

SpringApache文件類型

2024-04-30 11:49:16

瀏覽器前端開發(fā)折疊屏應(yīng)用

2025-05-13 09:31:27

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

伊人春色在线观看| 国产欧美精品久久久| 丁香五月网久久综合| 一区二区不卡免费视频| 国产成人精品一区二三区四区五区| 欧洲亚洲视频| 国产成人综合自拍| 少妇激情综合网| 97在线播放视频| 国模私拍视频在线| 欧美精品观看| 5月丁香婷婷综合| 亚洲欧美日韩国产yyy| 午夜婷婷在线观看| 欧美男男freegayvideosroom| 色综合久久久久久久久久久| 国产一区二区不卡视频| 91成人福利视频| 国产精品毛片aⅴ一区二区三区| 国产网站一区二区| 国产成人精品电影| 一区二区三区久久久久| a欧美人片人妖| 久久久亚洲午夜电影| 欧美一区二区三区免费观看| 苍井空张开腿实干12次| 99热国产在线| 久久久久久久久99精品| 亚洲综合日韩中文字幕v在线| 欧美a级片免费看| 欧美视频免费看| 国产精品欧美久久久久无广告| 国产精品久久久久久亚洲调教 | 免费亚洲一区二区| 日本亚洲欧美在线| 欧洲在线一区| 日韩欧美在线一区二区三区| 成人黄色片免费| 亚洲第一页在线观看| 亚洲人成久久| 亚洲乱码一区二区| 国产精品亚洲二区在线观看| 隣の若妻さん波多野结衣| 喷水一区二区三区| 久久精品成人动漫| 少妇精品无码一区二区| 国产精品久久久久久久久久齐齐| 国产精品久久夜| 欧美资源一区| a视频免费在线观看| 免费人成黄页网站在线一区二区| 日韩视频免费在线观看| 欧美性生交xxxxx| 在线中文字幕播放| 国产精品毛片久久久久久| 久久另类ts人妖一区二区| 波多野结衣网站| 99热在线成人| 亚洲电影av在线| 天天影视综合色| 污视频网站在线免费| 91亚洲精品乱码久久久久久蜜桃| 国产成人久久精品| 精品人妻无码一区二区性色| 天天精品视频| 精品国产欧美一区二区五十路| 欧洲av一区二区三区| 欧美日韩在线观看视频小说| 欧美一二三四区在线| 亚洲自拍第三页| 日韩不卡免费高清视频| 一区二区三区四区高清精品免费观看| 精品九九九九| 国产探花精品一区二区| 亚洲一区二区三区免费在线观看| 中文字幕亚洲欧美日韩在线不卡| 好吊操视频这里只有精品| 久久久久毛片免费观看| 日韩欧美国产中文字幕| 三级在线免费观看| 丁香婷婷在线| 972aa.com艺术欧美| 看高清中日韩色视频| av在线日韩国产精品| 99天天综合性| 亚洲xxxxx性| 国产不卡精品视频| 99精品国产热久久91蜜凸| 青青成人在线| 色婷婷视频在线观看| 狠狠躁夜夜躁人人躁婷婷91| 女同性恋一区二区| 91激情在线| 久久久国产精品麻豆| 亚洲成人午夜在线| 福利网站在线观看| 亚洲精品ww久久久久久p站| 国产av人人夜夜澡人人爽麻豆| 岛国成人毛片| 综合色中文字幕| 一区二区三区四区五区视频| 丰满人妻妇伦又伦精品国产| 91色综合久久久久婷婷| 国产综合动作在线观看| 国产中文字幕在线观看| 久久久天堂av| 加勒比海盗1在线观看免费国语版| 白浆在线视频| 欧美日韩国产精品| caopor在线视频| 日韩在线亚洲| 精品日韩一区二区三区免费视频| 亚洲精品www.| 日本在线一区二区| 51精品秘密在线观看| aaaa黄色片| 无码日韩精品一区二区免费| 亚洲精品国产综合久久| 91九色蝌蚪porny| 国产在线播放精品| 日韩电影网在线| 波多野结衣 在线| 九色精品91| 一区二区三区四区精品| 精品视频第一页| 欧美在线三区| 久久久中精品2020中文| 国产成人一区二区三区影院在线| 亚洲精品人人| 99精品国产一区二区| 六月丁香色婷婷| 日韩理论片在线| 妞干网视频在线观看| segui88久久综合| 欧美丝袜第一区| 欧美熟妇精品一区二区| 五月天久久网站| 成人午夜在线观看| 韩国av电影在线观看| 亚洲欧洲另类国产综合| 中文字幕国内自拍| 日韩精品一区二区三区中文在线| 自拍偷拍亚洲欧美| 欧美国产一级片| 久久精品一区二区三区不卡牛牛| 国产极品粉嫩福利姬萌白酱| 日韩欧美一区二区三区在线观看| 欧美精品久久天天躁| 91精品人妻一区二区三区蜜桃2 | 亚洲一区二区三区四区中文| 黑人巨大精品| 亚洲美女又黄又爽在线观看| 国产免费av一区二区| 久久性天堂网| 99国产在线| 天堂av在线电影| 日韩欧美国产1| 中文字幕人妻一区二区三区在线视频| 色偷偷综合网| 久久久伊人欧美| 日韩一级片免费看| 中文字幕一区在线观看| av女优在线播放| 国产精品三p一区二区| 96精品视频在线| 国产绿帽刺激高潮对白| 国产精品进线69影院| caoporm在线视频| 美女一区二区在线观看| 久久久91精品| 国产sm主人调教女m视频| 亚洲一区在线观看网站| 久草福利视频在线| 欧美日韩老妇| 91丨九色丨国产在线| 青青草在线免费观看| 亚洲自拍偷拍综合| 三上悠亚在线一区| 午夜国产欧美理论在线播放| 国产精品久久波多野结衣| 午夜在线视频| 91久久精品一区二区三| 午夜影院福利社| 亚洲自啪免费| 国产精品区一区| 色一区二区三区| 精品久久久久99| 亚洲另类在线观看| 中文字幕亚洲在| 中文字幕第九页| 日本不卡视频一二三区| 亚洲啊啊啊啊啊| 一道本一区二区三区| 久久久久久久久久久免费| 国产精品一区二区人人爽| 久久精品人人做人人爽人人| 污污网站免费观看| 精品国产一区二区三区噜噜噜| 成人精品一区二区三区电影免费 | 亚洲综合在线一区二区| 亚洲欧洲午夜| 手机福利在线视频| 久久亚洲人体| 国内成人精品一区| 午夜视频在线观看网站| 精品成a人在线观看| 麻豆一区产品精品蜜桃的特点| 久久99国内精品| 香蕉视频在线网址| 日韩高清三区| 91久久久一线二线三线品牌| 女女色综合影院| 制服丝袜成人动漫| 欧美一级特黄视频| 亚洲一区二区三区精品在线| 又嫩又硬又黄又爽的视频| 免费成人美女在线观看.| 久久久国内精品| 1024精品久久久久久久久| 成人写真视频福利网| 亚洲欧洲自拍| 孩xxxx性bbbb欧美| av免费在线网站| 在线观看欧美成人| 免费福利在线观看| 欧美在线你懂的| 99久久久免费精品| 国产亚洲人成网站| 亚洲一区二区三区无码久久| 成人一区二区三区| 丝袜老师办公室里做好紧好爽| 亚洲成人av| 一区二区三区四区欧美| 韩日一区二区三区| 成人午夜高潮视频| 台湾天天综合人成在线| 国产精品视频精品| 日韩精品麻豆| 欧美激情a在线| 你懂的在线观看| 亚洲精品美女久久| 99视频国产精品免费观看a| 欧美日韩电影一区| 国产精品suv一区二区| 久久久www成人免费毛片麻豆 | 2019日韩中文字幕mv| 在线亚洲a色| 久久久久久草| 偷窥自拍亚洲色图精选| 免费久久99精品国产自| 自拍偷拍欧美一区| 欧美在线视频一区二区三区| 免费看av成人| 午夜精品一区二区在线观看的| 日本免费成人| 91在线高清视频| 日韩不卡在线视频| 国产精品久久久久久久久婷婷| 日韩欧美中文字幕一区二区三区| 91九色在线观看| 盗摄牛牛av影视一区二区| 成人自拍网站| 日本一区福利在线| 日本一区二区在线视频| 欧美色图国产精品| 国产一区二区三区无遮挡 | 亚洲成色777777女色窝| 欧美自拍偷拍一区二区| 亚洲精品综合久久中文字幕| 蝌蚪视频在线播放| 日韩亚洲欧美中文在线| 在线观看电影av| 97色在线播放视频| 成人日日夜夜| 欧美激情高清视频| 韩国成人动漫| 91社区国产高清| 欧美激情极品| 先锋影音日韩| 狠狠综合久久av一区二区老牛| 亚洲精品在线免费| 在线国产一区二区| 亚洲二区自拍| 午夜天堂精品久久久久| 99精品人妻少妇一区二区| 蜜臀精品一区二区三区在线观看 | 国产一区二区网| 希岛爱理av一区二区三区| 亚洲天堂第一区| 免费中文字幕日韩欧美| 人人妻人人澡人人爽欧美一区双| 一本色道久久综合亚洲精品高清| 久久香蕉视频网站| 久久亚洲影院| 中文字幕在线播放一区二区| 国内精品久久久久影院薰衣草| 国产精品久久a| 丁香婷婷综合色啪| 大吊一区二区三区| 亚洲午夜久久久| 中文字幕无线码一区| 91豆麻精品91久久久久久| 精品国产亚洲AV| 欧美tk—视频vk| 九色在线播放| 久久久久久国产免费| 巨胸喷奶水www久久久免费动漫| 99久久精品免费看国产四区 | 日本精品免费视频| 日韩 欧美一区二区三区| 又黄又爽的网站| 99精品欧美一区二区三区小说| 欧美性生交大片| 色呦呦一区二区三区| 欧美 日韩 国产 成人 在线 91| 在线日韩中文字幕| 中文字幕在线视频网站| 国产精品福利视频| 亚洲精品99| 国产一二三区av| 久久久美女毛片| 国产一级片毛片| 亚洲第一天堂av| 日韩三级电影视频| 91精品视频网站| 青青草综合网| 91热这里只有精品| 久久影音资源网| 亚洲精品成人av久久| 中文字幕亚洲欧美在线不卡| 久久99国产综合精品免费| 亚洲第一中文字幕在线观看| 日本孕妇大胆孕交无码| 亚洲伊人一本大道中文字幕| 四虎成人av| 国产婷婷一区二区三区| 国产精品一二二区| 久久精品女同亚洲女同13| 亚洲精品伦理在线| 国产免费一区二区三区免费视频| 中文字幕日韩在线观看| 国产精品亚洲d| 日韩一二三区不卡在线视频| 亚洲国产精品91| 亚洲午夜激情影院| 国产精品久久午夜| 97免费观看视频| 久久精品国产精品亚洲| 成人精品在线| 日韩一二区视频| 国产1区2区3区精品美女| 在哪里可以看毛片| 在线观看视频一区二区欧美日韩 | www日韩欧美| 精品入口麻豆88视频| 热久久最新地址| 粉嫩aⅴ一区二区三区四区| 国产在线视频你懂的| 亚洲成人网在线| 超碰超碰人人人人精品| 欧美日韩一区在线观看视频| 欧美成人久久| 91精品又粗又猛又爽| 舔着乳尖日韩一区| 国产成a人亚洲精v品无码| 另类美女黄大片| free欧美| 艳色歌舞团一区二区三区| 国产麻豆成人精品| 日韩大片免费在线观看| 亚洲精品视频免费| tube8在线hd| 日本一区二区三区www| 九九精品视频在线看| 久久久久久久久久91| 欧美精品第一页| 日本中文字幕中出在线| 另类小说综合网| 毛片一区二区三区| 老头老太做爰xxx视频| 欧美高清激情brazzers| 久久五月精品中文字幕| 国产综合福利在线| 日本电影一区二区| 一级黄色免费毛片| 中文字幕在线不卡| 日韩一区二区三区在线观看视频 | 91精品麻豆| 亚洲欧美影院| 成人av在线资源| 久草免费在线观看视频| 日韩激情在线视频| 91精品国产自产观看在线 | 91香蕉视频在线播放| 欧美色综合久久| 成人一区二区不卡免费| 91网站免费看| 视频一区在线视频| xxxx 国产| 久久精品成人欧美大片古装|