久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

Django實現(xiàn)聊天機器人

瀏覽:7日期:2024-09-05 13:05:34
目錄實現(xiàn)原理第一步 安裝環(huán)境依賴第二步 配置Celery第三步 編寫機器人聊天主頁面第四步 編寫后臺websocket路由及處理方法第五步 編寫Celery異步任務(wù)第六步 運行看效果小結(jié)

演示效果如下所示:

Django實現(xiàn)聊天機器人

實現(xiàn)原理

用戶在聊天界面調(diào)用Celery異步任務(wù),Celery異步任務(wù)執(zhí)行完畢后發(fā)送結(jié)果給channels,然后channels通過websocket將結(jié)果實時推送給用戶。對于簡單的算術(shù)運算,Celery一般自行計算就好了。對于網(wǎng)上查找詩人簡介這樣的任務(wù),Celery會調(diào)用Python爬蟲(requests+parsel)爬取古詩文網(wǎng)站上的詩人簡介,把爬取結(jié)果實時返回給用戶。

接下來我們來看下具體的代碼實現(xiàn)吧。

第一步 安裝環(huán)境依賴

首先在虛擬環(huán)境中安裝django和以下主要項目依賴。本項目使用了最新版本,為3.X版本。

# 主要項目依賴 pip install django pip install channels pip install channels_redis pip install celery pip install redis pip install eventlet # windows only # 爬蟲依賴 pip install requests pip install parsel

新建一個名為myproject的項目,新建一個app名為bots。如果windows下安裝報錯,如何解決自己網(wǎng)上去找吧,很容易解決。修改settings.py, 將channels和chat加入到INSTALLED_APPS里,并添加相應(yīng)配置,如下所示:

INSTALLED_APPS = [ ’django.contrib.admin’, ’django.contrib.auth’, ’django.contrib.contenttypes’, ’django.contrib.sessions’, ’django.contrib.messages’, ’django.contrib.staticfiles’, ’channels’, # channels應(yīng)用 ’bots’, # bots應(yīng)用 ] # 設(shè)置ASGI應(yīng)用 ASGI_APPLICATION = ’myproject.asgi.application’# 生產(chǎn)環(huán)境中使用redis做后臺,安裝channels_redisimport osCHANNEL_LAYERS = { 'default': {'BACKEND': 'channels_redis.core.RedisChannelLayer','CONFIG': { 'hosts': [os.environ.get(’REDIS_URL’, ’redis://127.0.0.1:6379/2’)],}, },}

最后將bots應(yīng)用的urls.py加入到項目urls.py中去,這和常規(guī)Django項目無異。

# myproject/urls.py from django.conf.urls import include from django.urls import path from django.contrib import admin urlpatterns = [ path(’bots/’, include(’bots.urls’)), path(’admin/’, admin.site.urls), ]第二步 配置Celery

pip安裝好Celery和redis后,我們要對其進行配置。分別修改myproject目錄下的__init__.py和celery.py(新建), 添加如下代碼:

# __init__.pyfrom .celery import app as celery_app__all__ = (’celery_app’,)# celery.pyimport osfrom celery import Celery# 設(shè)置環(huán)境變量os.environ.setdefault(’DJANGO_SETTINGS_MODULE’, ’myproject.settings’)# 實例化app = Celery(’myproject’)# namespace=’CELERY’作用是允許你在Django配置文件中對Celery進行配置# 但所有Celery配置項必須以CELERY開頭,防止沖突app.config_from_object(’django.conf:settings’, namespace=’CELERY’)# 自動從Django的已注冊app中發(fā)現(xiàn)任務(wù)app.autodiscover_tasks()# 一個測試任務(wù)@app.task(bind=True)def debug_task(self): print(f’Request: {self.request!r}’)

接著修改settings.py, 增加如下Celery配置:

# Celery配置CELERY_BROKER_URL = 'redis://127.0.0.1:6379/0'CELERY_TIMEZONE = TIME_ZONE# celery內(nèi)容等消息的格式設(shè)置,默認jsonCELERY_ACCEPT_CONTENT = [’application/json’, ]CELERY_TASK_SERIALIZER = ’json’CELERY_RESULT_SERIALIZER = ’json’

完整Celery配置見:Django進階:萬字長文教你使用Celery執(zhí)行異步和周期性任務(wù)(多圖)

第三步 編寫機器人聊天主頁面

本例我們只需要利用django普通視圖函數(shù)編寫1個頁面,用于展示首頁(index)與用戶交互的聊天頁面。這個頁面對應(yīng)的路由及視圖函數(shù)如下所示:

# bots/urls.py from django.urls import path from . import views urlpatterns = [ path(’’, views.index, name=’index’), ] # bots/views.py from django.shortcuts import render def index(request): return render(request, ’bots/index.html’, {})

接下來我們編寫模板文件index.html,它的路徑位置如下所示:

bots/ __init__.py templates/ bots/ index.html urls.py views.py

index.html內(nèi)容如下所示。

<!DOCTYPE html><html><head> <meta charset='utf-8'/> <title>Django+Channels+Celery聊天機器人</title></head><body><textarea id='chat-log' cols='100' rows='20' readonly></textarea><br/><input type='text' size='100' placeholder='輸入`help`獲取幫助信息.'/><br/><input id='chat-message-submit' type='button' value='Send'/> <script> var wss_protocol = (window.location.protocol == ’https:’) ? ’wss://’: ’ws://’; var chatSocket = new WebSocket(wss_protocol + window.location.host + ’/ws/bots/’); chatSocket.onopen = function(e) {document.querySelector(’#chat-log’).value +=(’歡迎來到大江狗Django聊天機器人. 請輸入`help`獲取幫助信息.n’)} chatSocket.onmessage = function(e) {var data = JSON.parse(e.data);var message = data[’message’];document.querySelector(’#chat-log’).value += (message + ’n’); }; chatSocket.onclose = function(e) {document.querySelector(’#chat-log’).value +=(’Socket closed unexpectedly, please reload the page.n’)}; document.querySelector(’#chat-message-input’).focus(); document.querySelector(’#chat-message-input’).onkeyup = function(e) {if (e.keyCode === 13) { // enter, return document.querySelector(’#chat-message-submit’).click();} }; document.querySelector(’#chat-message-submit’).onclick = function(e) {var messageInputDom = document.querySelector(’#chat-message-input’);var message = messageInputDom.value;chatSocket.send(JSON.stringify({ ’message’: message})); messageInputDom.value = ’’; };</script></body></html>第四步 編寫后臺websocket路由及處理方法

當(dāng) channels 接受 WebSocket 連接時, 它也會根據(jù)根路由配置去查找相應(yīng)的處理方法。只不過channels的websocket路由不在urls.py中配置,處理函數(shù)也不寫在views.py。在channels中,這兩個文件分別變成了routing.py和consumers.py。

在bots應(yīng)用下新建routing.py, 添加如下代碼。它的作用是將發(fā)送至ws/bots/的websocket請求轉(zhuǎn)由BotConsumer處理。

from django.urls import re_pathfrom . import consumerswebsocket_urlpatterns = [ re_path(r’ws/bots/$’, consumers.BotConsumer.as_asgi()),]

注意:定義websocket路由時,推薦使用常見的路徑前綴 (如/ws) 來區(qū)分 WebSocket 連接與普通 HTTP 連接, 因為它將使生產(chǎn)環(huán)境中部署 Channels 更容易,比如nginx把所有/ws的請求轉(zhuǎn)給channels處理。

與Django類似,我們還需要把這個app的websocket路由加入到項目的根路由中去。編輯myproject/asgi.py, 添加如下代碼:

# myproject/asgi.pyimport osfrom channels.auth import AuthMiddlewareStackfrom channels.routing import ProtocolTypeRouter, URLRouterfrom django.core.asgi import get_asgi_applicationimport chat.routingimport bots.routingos.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject.settings')application = ProtocolTypeRouter({ 'http': get_asgi_application(), # websocket請求使用的路由 'websocket': AuthMiddlewareStack(URLRouter( bots.routing.websocket_urlpatterns) )})

接下來在bots應(yīng)用下新建consumers.py, 添加如下代碼:

import jsonfrom asgiref.sync import async_to_syncfrom channels.generic.websocket import WebsocketConsumerfrom . import tasksCOMMANDS = { ’help’: {’help’: ’命令幫助信息.’, }, ’add’: {’args’: 2,’help’: ’計算兩個數(shù)之和, 例子: `add 12 32`.’,’task’: ’add’ }, ’search’: {’args’: 1,’help’: ’通過名字查找詩人介紹,例子: `search 李白`.’,’task’: ’search’ },}class BotConsumer(WebsocketConsumer): def receive(self, text_data):text_data_json = json.loads(text_data)message = text_data_json[’message’]response_message = ’請輸入`help`獲取命令幫助信息。’message_parts = message.split()if message_parts: command = message_parts[0].lower() if command == ’help’:response_message = ’支持的命令有:n’ + ’n’.join( [f’{command} - {params['help']} ’ for command, params in COMMANDS.items()]) elif command in COMMANDS:if len(message_parts[1:]) != COMMANDS[command][’args’]: response_message = f’命令`{command}`參數(shù)錯誤,請重新輸入.’else: getattr(tasks, COMMANDS[command][’task’]).delay(self.channel_name, *message_parts[1:]) response_message = f’收到`{message}`任務(wù).’ async_to_sync(self.channel_layer.send)( self.channel_name, {’type’: ’chat.message’,’message’: response_message }) def chat_message(self, event):message = event[’message’]# Send message to WebSocketself.send(text_data=json.dumps({ ’message’: f’[機器人]: {message}’}))

上面代碼中最重要的一行如下所示。BotConsumer在接收到路由轉(zhuǎn)發(fā)的前端消息后,對其解析,將當(dāng)前頻道名和解析后的參數(shù)一起交由Celery異步執(zhí)行。Celery執(zhí)行任務(wù)完成以后會將結(jié)果發(fā)到這個頻道,這樣就實現(xiàn)了channels和Celery的通信。

getattr(tasks, COMMANDS[command][’task’]).delay(self.channel_name, *message_parts[1:])第五步 編寫Celery異步任務(wù)

在bots目錄下新建`tasks.py`,添加如下代碼:

from asgiref.sync import async_to_syncfrom celery import shared_taskfrom channels.layers import get_channel_layerfrom parsel import Selectorimport requestschannel_layer = get_channel_layer()@shared_taskdef add(channel_name, x, y): message = ’{}+{}={}’.format(x, y, int(x) + int(y)) async_to_sync(channel_layer.send)(channel_name, {'type': 'chat.message', 'message': message}) print(message)@shared_taskdef search(channel_name, name): spider = PoemSpider(name) result = spider.parse_page() async_to_sync(channel_layer.send)(channel_name, {'type': 'chat.message', 'message': str(result)}) print(result)class PoemSpider(object): def __init__(self, keyword):self.keyword = keywordself.url = 'https://so.gushiwen.cn/search.aspx' def parse_page(self):params = {’value’: self.keyword}response = requests.get(self.url, params=params)if response.status_code == 200: # 創(chuàng)建Selector類實例 selector = Selector(response.text) # 采用xpath選擇器提取詩人介紹 intro = selector.xpath(’//textarea[starts-with(@id,'txtareAuthor')]/text()’).get() print('{}介紹:{}'.format(self.keyword, intro)) if intro:return introprint('請求失敗 status:{}'.format(response.status_code))return '未找到詩人介紹。'

以上兩個任務(wù)都以channel_name為參數(shù),任務(wù)執(zhí)行完畢后通過channel_layer的send方法將結(jié)果發(fā)送到指定頻道。

注意:

- 默認獲取channel_layer的方式是調(diào)用接口:channels.layers.get_channel_layer()。如果是在consumer中調(diào)用接口的話可以直接使用self.channel_layer。

- 對于channel layer的方法(包括send()、group_send(),group_add()等)都屬于異步方法,這意味著在調(diào)用的時候都需要使用await,而如果想要在同步代碼中使用它們,就需要使用裝飾器asgiref.sync.async_to_sync

第六步 運行看效果

如果不出意外,你現(xiàn)在的項目布局應(yīng)該如下所示。說實話,整個項目一共沒幾個文件,Python的簡潔和效率真是出了名的好啊。

Django實現(xiàn)聊天機器人

連續(xù)運行如下命令,就可以看到我們文初的效果啦。

# 啟動django測試服務(wù)器 python manage.py makemigrations python manage.py migrate python manage.py runserver # windows下啟動Celery需eventlet # 啟動Celery前確定redis服務(wù)已開啟哦 Celery -A myproject worker -l info -P eventlet小結(jié)

本文我們使用Django + Channels + Celery + Redis打造了一個聊天機器人,既會算算術(shù),還會查古詩文。借用這個實現(xiàn)原理,你可以打造非常有趣的實時聊天應(yīng)用哦,比如在線即時問答,在線客服,實時查詢訂單,Django版的siri美女等等。

Django Channels + Websocket + Celery聊天機器人項目源碼地址:https://github.com/shiyunbo/django-channels-chatbot

以上就是Django實現(xiàn)聊天機器人的詳細內(nèi)容,更多關(guān)于Django 聊天機器人的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Django
相關(guān)文章:
主站蜘蛛池模板: 中文字幕亚洲一区 | 北条麻妃一区二区在线 | 亚洲精品视频在线免费 | 精品久久久久久久久久久久久久久久久久久 | 毛片网站在线 | 91精品国产91久久久久游泳池 | 国产午夜精品久久 | 久久久久久一区 | 午夜网 | 欧美日韩系列 | 国产精品成人网 | 亚洲二区视频 | 天天精品视频免费观看 | 波多野结衣先锋影音 | 精品一二区 | 91国内外精品自在线播放 | 精品日韩一区二区三区 | 欧美99热 | 亚洲综合无码一区二区 | 国产一区二区在线免费观看 | 成人亚洲黄色 | 国产一区二区三区在线免费观看 | 久久精品黄 | 精品久久久久久久久久久久久久久久久久 | 成人福利网站 | 毛片免费在线 | www.夜夜骑 | 91免费在线看 | 国产精品久久久久久久久 | 久久久久久久久久久久国产精品 | 久久一区二区视频 | 国产精品99久久免费观看 | 久久爱综合 | 国产精品一区一区三区 | 男女羞羞视频免费观看 | 另类国产ts人妖高潮系列视频 | 国产大片黄色 | 天天噜天天干 | 亚洲成人久久久 | 在线成人av观看 | 国产欧美一区二区三区在线看 | 九色在线| 国产精品一品二区三区的使用体验 | 国产美女精品人人做人人爽 | 最新中文字幕在线资源 | 国产v日产∨综合v精品视频 | 国产免费av在线 | 免费国产成人 | 成年人免费在线视频 | 成人在线观看免费视频 | a级在线观看 | 欧美一区免费 | 91激情视频| 一级黄色生活视频 | 国产一区二区精品 | 欧美一级一区 | 国产精品久久免费看 | 999久久久| 97精品超碰一区二区三区 | 欧美日韩国产综合视频 | 欧美日韩成人在线 | 国产精品久久久久久吹潮 | 久久久一区二区三区 | 欧美日韩一区二区电影 | 女人夜夜春高潮爽a∨片传媒 | 国产精品热 | 成人亚洲视频 | 成人精品视频在线观看 | 懂色av色香蕉一区二区蜜桃 | 精品天堂| 久久精品亚洲精品 | 欧美一级久久 | 午夜精品久久久久久久白皮肤 | 欧美日韩在线免费观看 | 91精品国产综合久久久久久漫画 | 欧美一级在线免费观看 | 免费一区二区 | av在线免费观看一区二区 | 天天操天天操 | 久久久久久毛片免费观看 | 91中文字幕在线观看 | 国产精品久久国产精品 | 日本免费在线 | 黄色小视频免费观看 | 国产天天操 | 波多野结衣一二三区 | 91高清视频在线观看 | 日韩精品一区二区三区四区视频 | 三级黄色片在线播放 | 日本精品视频在线播放 | 国产精品久久久久久久久免费丝袜 | 欧美99| 综合在线视频 | 午夜私人影院 | 色视频久久 | 欧美激情第二页 | 粉嫩国产精品一区二区在线观看 | 四虎884a | 国产高清免费 | 91香蕉 | 欧美黑人一级毛片 | 国产黄色免费小视频 | 天天亚洲 | 免费一区二区 | 精品国产欧美一区二区三区成人 | 亚洲欧洲一区二区 | 少妇精品视频在线观看 | 国产精品久久久久久久久久久久 | 中文在线视频 | 成人av在线网 | 成人av免费观看 | 国产高清视频 | 午夜影院免费视频 | 天堂亚洲 | 午夜精品视频 | 激情国产 | 成人精品在线观看 | 成人亚洲精品 | 日韩二区三区 | 国产精品一二三区视频 | 青青草99 | 天天干天天草 | 一区二区免费视频 | 91影库| 午夜精品久久久久 | 中文字幕免费看 | 国产一级特黄aaa大片 | 国产日韩欧美一区二区在线观看 | 日韩在线精品 | 欧美精品国产精品 | 天天做天天看 | 成人a毛片 | 日韩在线免费 | 欧美经典一区 | 日本不卡视频 | h网站在线观看 | 日韩在线视频观看 | 久久久av| 99久久99热这里只有精品 | 亚洲美女视频 | 午夜资源 | 超碰人人操 | www.天天草 | 婷婷色国产偷v国产偷v小说 | 99热影院| 人一级毛片 | 中文字幕一区二区三区在线视频 | 成人免费视频观看视频 | 久久99视频这里只有精品 | 91精品国产综合久久久久久漫画 | 久久精品小视频 | 韩日精品在线观看 | 欧美激情一区二区三级高清视频 | 国精产品一区二区三区黑人免费看 | 日本亚洲欧美 | 欧美日韩中文字幕 | 久久久久久九九九九九九 | 欧美一级在线观看视频 | 久草电影网 | 中文字幕在线观看的电影 | 午夜国产精品视频 | 青青久久网 | 在线精品自拍 | 一级毛片在线播放 | 91一级 | 日韩中文字幕在线播放 | 亚洲成人精品 | 99热精品免费 | 国产毛片a级 | 99精品国产在热久久 | 欧美三区视频 | 91久久精品一区二区三区 | 99亚洲视频 | 亚洲久久 | 黄色片免费看. | 国产成人免费视频 | 午夜a级理论片915影院 | 成人无遮挡毛片免费看 | 99精品一区二区三区 | 国产精品一区二区三区四区五区 | 春色导航 | 亚洲色欲色欲www | 久久免费黄色网址 | 国产高清在线视频 | 亚洲精品久久久久久一区二区 | 国产超碰人人模人人爽人人添 | 国产精品一二三区 | 日韩久久成人 | 久久久久久久免费 | 日韩一区二区在线观看视频 | 亚洲高清视频在线观看 | 精品少妇一区二区三区日产乱码 | 国产高清一级片 | 一区在线看 | 亚洲成人一区二区 | 四虎av成人 | 日韩精品91爱爱 | 国产精品自拍一区 | 91看片淫黄大片一级在线观看 | 亚洲精品91 | 成人免费一区二区三区视频网站 | 午夜免费视频网站 | 日韩免费| 色综合天天综合网国产成人网 | 91久久久久 | 99精品电影| 欧美日韩中文字幕 | 欧美精品自拍 | 中文字幕7777 | 日韩欧美一区二区三区免费观看 | 中文字幕1区 | 中文字幕在线视频网站 | 色在线免费视频 | 色综合天天天天做夜夜夜夜做 | 欧洲成人在线 | 欧美日韩精品久久久 | 一区二区亚洲视频 | 少妇看av一二三区 | 免费观看一级特黄欧美大片 | 国产精品乱码人人做人人爱 | 亚洲一区二区三区免费在线观看 | 日本狠狠操 | 精品久久精品久久 | 国产美女永久免费无遮挡 | 日本成人久久 | 99国产精品久久久久久久 | 电家庭影院午夜 | 亚洲欧美日韩天堂 | 久久精品a级毛片 | 久久亚洲精品视频 | 欧美色综合一区二区三区 | 国产精选一区二区 | 国产精品久久久久婷婷二区次 | 日韩在线一区二区三区 | 福利片在线观看 | 亚洲精品在线播放视频 | 精品三级在线观看 | 亚洲成人精品一区 | 羞羞视频免费网站 | 免费二区| 特黄一级 | 免费国产黄网站在线观看视频 | 久久久久久久免费 | 日韩欧美一区二区三区视频 | 色婷婷亚洲一区二区三区 | 性色在线 | 一区二区三区在线免费 | 亚洲精品四区 | 在线毛片观看 | 亚洲成年人网站在线观看 | 国产精拍 | 中文字幕一区二区三区四区 | 欧美视频一二 | 中文字幕一区二区在线观看 | 91久久久久久久久 | h免费在线观看 | 国产精品香蕉 | 一区二区三区在线免费观看 | 免费观看一区二区三区毛片 | 欧美一级黄色大片 | 狠狠色综合久久丁香婷婷 | 午夜精品一区二区三区在线观看 | 黄色骚片 | 久久人人爽人人爽人人片av不 | 久久加勒比 | 国产成人精品一区二区 | 国产精品一区二区不卡 | 亚洲网站在线观看 | 日本久久艹 | 欧美黑人一区 | 第一色站 | 国产精品久久久久久久久动漫 | 精品国产一级片 | 成人免费一区二区三区视频网站 | 亚洲欧美另类在线观看 | 久草 在线 | 久久伊人av| 国产精品一码二码三码在线 | 天天操夜夜操免费视频 | 免费日韩精品 | 国产韩国精品一区二区三区 | 精品一区二区视频 | 国产精品国产精品国产专区不片 | 亚洲成人一区 | 久久久999成人 | 日韩三级在线免费 | 999视频在线 | 国产精品毛片无码 | 久久成人精品视频 | 国产a久久精品一区二区三区 | 午夜私人影院 | 爱啪导航一精品导航站 | 日韩欧美一级片 | 精品久久久久久久久久久 | 亚洲成人在线视频观看 | 波多野结衣一区二区三区高清 | 可以免费看黄视频的网站 | 999精品在线 | 91精品国产一区二区三区免费 | 九九人人 | 精品亚洲一区二区 | 日韩一区二区在线播放 | 欧美成人精品一区二区 | 亚洲欧美另类在线 | 中文一区| 亚洲国产精久久久久久久 | 日本精品久久 | 男女羞羞视频网站 | 91资源在线 | 久久精品一区二区三区四区 | 日韩城人网站 | 久久精品一区二区三区四区 | 亚洲精品在线播放 | 91精品国产综合久久久久久 | 久久精品99国产精品亚洲最刺激 | 亚洲国产婷婷香蕉久久久久久99 | 亚洲免费视频在线观看 | 一级黄色大片视频 | 一区二区三区四区在线 | 欧美日韩三区 | 欧美在线亚洲 | 伊人久久爱| 国产成人综合在线观看 | 91超碰在线观看 | 国产美女一区二区 | aaaaaa黄色片 | 国产中文在线播放 | 中文精品在线 | 粉嫩在线 | 国产一区二区久久久 | 国产成人av在线播放 | 国产亚洲一区二区三区 | 久久99精品久久久久久琪琪 | 久久久久国产一区二区三区 | 高清久久| 欧洲一级毛片 | 日韩av资源站 | 91精品欧美久久久久久久 | 国产精品毛片一区二区三区 | 欧美一区二区三区精品 | 成人精品视频99在线观看免费 | 99日韩| 日韩欧美在线观看视频网站 | 成人免费在线观看网址 | 中文字幕日韩欧美一区二区三区 | 午夜免费| 一区二区成人网 | 91大片| 亚洲jizzjizz日本少妇 | 免费黄色电影在线观看 | 亚州成人| 天堂网色 | 91av导航 | 国产精品久久九九 | 嫩草精品 | 伊人爽 | 亚洲精品一区二区三区在线 | 成人在线观看免费视频 | 久久国产视频精品 | 狠狠se| 欧美三级在线视频 | 欧美一区二区三 | 精品亚洲一区二区三区 | 色综合中文 | 成人精品视频 | 夜夜操天天干 | 五月网婷婷 | 久久青草av| 亚洲精品乱码8久久久久久日本 | 亚洲成年人影院 | 精品1区| 国产欧美一二三区在线粉嫩 | 日本成人中文字幕在线观看 | 日韩精品一区二区三区中文字幕 | 亚洲综合二 | 7777奇米影视| 成人免费视频网 | 欧美在线观看一区 | 亚洲精品女优 | 国产一区二区在线播放 | 成人黄色在线视频 | 亚洲国产精品久久 | 久久精品a一级国产免视看成人 | 亚洲国产精品一区 | 99福利视频 | av在线免费观看一区二区 | 国产成人精品亚洲日本在线观看 | 欧美精品在线视频 | 欧美精品一区二区三区中文字幕 | 成人在线网址 | 伊人夜夜躁av伊人久久 | 99热在线看 | 欧美xxxxxx视频 | 亚洲视频在线播放 | 亚洲网在线| 特黄特色大片免费视频观看 | 日韩国产一区二区 | 久久av一区二区三区 | 欧美日韩一区二区三区四区 | 亚洲精品66| 国产欧美日韩精品一区 | 99久久视频| 国产精品久久久久久久久久妇女 | 亚洲精品久久久久久一区二区 | av男人的天堂网 | 久久性 | 精品国产欧美一区二区三区成人 | 91精品国产综合久久久蜜臀粉嫩 | 久久久久久久国产精品视频 | 国产视频久久久 | 国产精品国产精品国产专区不片 | 91精品久久久久久综合五月天 | 成人h视频 | 欧美激情精品久久久久久 | 欧美一级片在线观看 | 成人精品国产免费网站 | 黄色a视频 | 99精品视频免费 | 国产亚洲一区二区三区 | 午夜免费视频 | 国产专区一区 | av网站免费线看 | 九九热精 | 在线播放亚洲 | 日日久| 天天操天操 | 成人在线网站 | 97色在线视频 | 欧美日韩亚洲在线 | 欧美日日 | 精品专区 | 久久黄网 | 韩国xxxx性hd极品 | 婷婷亚洲五月 | 国产亚洲一区二区三区在线 | 久久99成人 | 欧美久久一区二区三区 | 成人在线免费 | www久久久久久久 | 国产欧美日韩在线 | 国产精品久久久久久久久久久久久 | 欧美电影一区 | 97超碰免费 | 我看一级毛片 | 国产午夜手机精彩视频 | 国产xxx护士爽免费看 | a视频在线 | 一区二区三区精品视频 | 日韩三级电影在线免费观看 | 欧美一区二区三区四区不卡 | 91久久久久久久久 | 久久久成人av | 国产亚洲精品精品国产亚洲综合 | 91精品欧美久久久久久动漫 | 欧美精品一二三 | 亚洲一区二区免费在线观看 | 国产在线精品一区二区三区 | 欧美a级在线观看 | 国产福利在线播放 | 亚洲精品资源在线观看 | 日韩2区| 羞羞午夜 | 久久久久久免费视频 | 国产精品久久久久影院色老大 | 日韩成人在线网站 | av自拍| 免费看国产片在线观看 | 99视频精品 | 欧美中文字幕一区 | 国产成人免费视频网站高清观看视频 | 亚洲成人一区二区三区 | 搜索黄色毛片 | 在线免费色视频 | 51国产午夜精品免费视频 | 欧美视频一区 | 正在播放欧美 | 99精品亚洲 | 91麻豆精品国产91久久久资源速度 | 国产精品一卡二卡三卡 | 亚洲国产成人av好男人在线观看 | 一区二区在线影院 | 久久精品伊人 | 亚洲欧美综合精品久久成人 | 亚洲成人一区二区 | 精品三区在线观看 | 欧美日韩在线一区 | 欧美一区二区精品 | 黄色高清视频在线观看 | 午夜在线电影 | 天天爽夜夜爽夜夜爽精品视频 | julia中文字幕久久一区二区 | 国产欧美久久一区二区三区 | 日韩精品一区二区三区中文在线 | 亚洲欧美一区二区三区久久 | 亚洲天天 | 久久亚洲美女 | 亚洲成人av在线 | 欧美日韩黄色一区二区 | 国产精品一区二区三区免费 | 国产在线精品一区二区 | 成人在线网址 | 99久草 | 黄色精品| 国产精品久久久久久亚洲调教 | av电影天堂网 | 中文字幕国产一区 | 亚洲午夜在线 | av中文字幕在线 | 亚洲精品视频在线免费 | 国产精品成人3p一区二区三区 | 久久综合一区二区三区 | 91爱爱视频| 久久亚洲天堂 | 国产一区在线观看视频 | 第四色影音先锋 | 亚洲成人一区二区 | 日本亚洲精品成人欧美一区 | 一级欧美一级日韩片 | 精品一区二区三区免费 | 成人免费在线视频 | 久久久久久久久久久精 | 午夜在线| 黄视频网址 | 久久综合九色综合欧美狠狠 | 九九热这里只有精品在线观看 | 久久99精品久久久噜噜最新章节 | 久久99精品久久久久久噜噜 | 依人久久 | 国产午夜精品久久久久久久 | 久久久久无码国产精品一区 | 亚洲成人自拍 | 91精品国产日韩91久久久久久 | 国产欧美精品一区二区三区四区 | 国产一区 | 日韩在线播 | 久久成人一区 | 亚洲乱码国产乱码精品精的特点 | 免费观看日韩一级片 | 欧美日韩精品一区二区在线播放 | 91一区二区在线观看 | 久久久久免费精品视频 | 91超碰caoporm国产香蕉 | 狠狠综合久久av一区二区小说 | 欧美日本国产 | 欧美黑人巨大xxx极品 | 精品国产乱码久久久久久密桃99 | 91九色在线观看 | 一区二区三区国产 | 欧洲精品在线观看 | 国产乱码一区二区三区 | 国产精品爱久久久久久久 | 在线h观看 | 在线欧美亚洲 | 成人激情在线 | 亚洲永久免费视频 | 国产欧美一区二区 | 精品久久中文字幕 | 日本久久久久 | 蜜桃av中文字幕 | 中文字幕一区二区三区不卡 | 成人免费小视频 | 国产黄色大片网站 | 午夜精品久久久久久久男人的天堂 | 伊人久操| 91精品国产综合久久久久久丝袜 | 国产九九精品 | 久久久99国产精品免费 | 在线观看中文字幕亚洲 | 亚洲国产成人精品女人久久久 | 亚洲高清网 | 国产亚洲女人久久久久毛片 | 91福利在线播放 | 亚洲中出 | 久久久久久久久久毛片 | 噜噜噜天天躁狠狠躁夜夜精品 | 国产成人精品一区二区在线 | 欧美精品第十页 | 久久久精品久久 | 婷婷在线观看视频 | 日韩一二三区视频 | 日韩经典一区 | 日韩精品一区二区三区在线观看 | 精品国产乱码简爱久久久久久 | 日本不卡在线 | 国产精品高清在线 | 久久青青操 | 国产一区二区久久 | 国产精品久久久久久久午夜片 | 精品视频一区二区 | 午夜免费观看网站 | 91网在线播放 | 欧美一级精品 | 精品久久久av | 久久久久久久久一区 | 日韩精品在线播放 | 国产成人涩涩涩视频在线观看 | 羞羞在线视频 | 一级黄色国产 | 日日视频 | 在线亚洲精品 | 成人激情视频在线观看 | 91福利影院在线观看 | 亚洲免费观看视频 | 久草在线高清 | 国产成人影视 | 日日爱999 | 亚洲欧美精品一区二区三区 | 日韩免费一区 | 一级大片一级一大片 | 久久高清片| 欧美亚洲三级 | 欧美在线亚洲 | 国产精品网站在线观看 | 黄色网址av | 国产片在线观看 |