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

手把手教你在Windows下設置分布式隊列Celery的心跳輪詢

系統 Windows 分布式
大家好,我是吳老板。用Celery 官方的話來說,Celery 是一個非常優秀的分布式隊列,可應用于分布式共享中間隊列和定時任務等等。

[[385390]]

1 前言

大家好,我是吳老板。用Celery 官方的話來說,Celery 是一個非常優秀的分布式隊列,可應用于分布式共享中間隊列和定時任務等等。

2 版本的差異

Celery 有很多個版本,各版本之間的差異可謂不小,比如最新的 Celery6.0 版本在穩定性遠不如 Celery4.0,所以在使用不同版本的時候,系統給到我們的反饋可能并不能如我們所愿。

3 服務

在 windows 下掛在 Celery 服務有時候會出現不穩定的情況(unix中暫時未發現這種情況),比如在執行定時任務的時候,過了一段時間之后,Celery 出現了假死狀態,以至于不能按照我們指定的時間點去執行任務。

這些任務只是加入到待運行隊列中(堆積在 Redis 中),只能人為重啟 Celery 服務之后才能將堆積的任務釋放出來運行。

這樣一來,第一是定時任務在指定時間點沒有正常運行,其二是在其他時間運行了這些任務,很可能會產生更新數據不及時,時間節點混亂的問題,不僅達不到業務需求,還會反受其害。

4 設置心跳

為了解決 Celery 在 windows 中的這種弊端,可以為 Celery 任務隊列設置一個心跳時間,比如每一分鐘或者每五分鐘向 Redis 數據庫發送一次數據以保證隊列始終是活躍的狀態,這樣只要你的電腦不關機并保持網絡暢通(如果是遠程 Redis),Celery 任務隊列服務就不會出現假死狀態。

5 舉個栗子

我總是很喜歡用示例來說話,前些時間在對某平臺的商家后臺進行數據采集的時候,為了使用時能自動獲取該網站的 cookie ,

用Pyppeteer 寫了一個自動化登陸的腳本,和往常一樣仍在 Celery 隊列中并迅速的啟動服務。

腳本是這樣的(非常接近實際的偽代碼,沒辦法,保命要緊)

  1. # -*- coding: utf-8 -*- 
  2. from db.redisCurd import RedisQueue 
  3. import asyncio 
  4. import random 
  5. import tkinter 
  6. from pyppeteer.launcher import launch 
  7. from platLogin.config import USERNAME, PASSWORD, LOGIN_URL 
  8.  
  9. class Login(): 
  10.     def __init__(self, shopId): 
  11.         self.shopId = shopId 
  12.         self.RedisQueue = RedisQueue("cookie"
  13.  
  14.     def screen_size(self): 
  15.         tk = tkinter.Tk() 
  16.         width = tk.winfo_screenwidth() 
  17.         height = tk.winfo_screenheight() 
  18.         tk.quit() 
  19.         return {'width': width, 'height': height} 
  20.  
  21.     async def login(self, username, password, url): 
  22.         browser = await launch( 
  23.             { 
  24.                 'headless'False
  25.                 'dumpio'True 
  26.             }, 
  27.             args=['--no-sandbox''--disable-infobars''--user-data-dir=./userData'], 
  28.         ) 
  29.         page = await browser.newPage()  # 啟動新的瀏覽器頁面 
  30.  
  31.         try: 
  32.             await page.setViewport(viewport=self.screen_size()) 
  33.             await page.setJavaScriptEnabled(enabled=True)  # 啟用js 
  34.             await page.setUserAgent( 
  35.                 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299' 
  36.             ) 
  37.             await self.page_evaluate(page) 
  38.             await page.goto(url) 
  39.             await asyncio.sleep(2) 
  40.             # 輸入用戶名,密碼 
  41.             await page.evaluate(f'document.querySelector("#userName").value=""'
  42.             await page.type('#userName', username, {'delay': self.input_time_random() - 50})  # delay是限制輸入的時間 
  43.             await page.evaluate('document.querySelector("#passWord").value=""'
  44.             await page.type('#passWord'password, {'delay': self.input_time_random()}) 
  45.             await page.waitFor(6000) 
  46.  
  47.             loginImgVcode = await page.waitForSelector('#checkCode')   
  48.             await loginImgVcode.screenshot({'path''./loginImg.png'}) 
  49.             await page.waitFor(6000) 
  50.  
  51.             res = use_cjy("./loginImg.png"
  52.             pic_str = res.get("pic_str") if res.get("err_str") == "OK" else "1234" 
  53.  
  54.             await page.waitFor(6000) 
  55.             await page.type('#checkWord', pic_str, {'delay': self.input_time_random() - 50}) 
  56.             await page.waitFor(6000) 
  57.  
  58.             await page.click('#subMit'
  59.             await page.waitFor(6000) 
  60.             await asyncio.sleep(2) 
  61.             await self.get_cookie(page) 
  62.             await page.waitFor(3000) 
  63.             await self.page_close(browser) 
  64.             return {'code': 200, 'msg''登陸成功'
  65.         except
  66.             return {'code': -1, 'msg''出錯'
  67.  
  68.         finally: 
  69.             await page.waitFor(3000) 
  70.             await self.page_close(browser) 
  71.  
  72.     # 獲取登錄后cookie 
  73.     async def get_cookie(self, page): 
  74.         cookies_list = await page.cookies() 
  75.         cookies = '' 
  76.         for cookie in cookies_list: 
  77.             str_cookie = '{0}={1}; ' 
  78.             str_cookie = str_cookie.format(cookie.get('name'), cookie.get('value')) 
  79.             cookies += str_cookie 
  80.         # 將cookie 放入 cookie 池 
  81.         self.RedisQueue.put_hash(self.shopId, cookies) 
  82.         return cookies 
  83.  
  84.     async def page_evaluate(self, page): 
  85.         await page.evaluate('''() =>{ Object.defineProperties(navigator,{ webdriver:{ get: () => undefined } }) }'''
  86.         await page.evaluate('''() =>{ window.navigator.chrome = { runtime: {},  }; }'''
  87.         await page.evaluate( 
  88.             '''() =>{ Object.defineProperty(navigator, 'languages', { get: () => ['en-US', 'en'] }); }'''
  89.         await page.evaluate( 
  90.             '''() =>{ Object.defineProperty(navigator, 'plugins', { get: () => [1, 2, 3, 4, 5,6], }); }'''
  91.         await page.waitFor(3000) 
  92.  
  93.     async def page_close(self, browser): 
  94.         for _page in await browser.pages(): 
  95.             await _page.close() 
  96.         await browser.close() 
  97.  
  98.     def input_time_random(self): 
  99.         return random.randint(100, 151) 
  100.  
  101.     def run(self, username=USERNAME, password=PASSWORD, url=LOGIN_URL): 
  102.         loop = asyncio.get_event_loop() 
  103.         i_future = asyncio.ensure_future(self.login(username, password, url)) 
  104.         loop.run_until_complete(i_future) 
  105.         return i_future.result() 
  106.  
  107.  
  108. if __name__ == '__main__'
  109.     Z = Login(shopId="001"
  110.     Z.run() 

Celery 任務文件是這樣的

  1. # -*- coding: utf-8 -*- 
  2. from __future__ import absolute_import 
  3. import os 
  4. import sys 
  5. import time 
  6. from db.redisCurd import RedisQueue 
  7. from send_msg.weinxin import Send_msg 
  8. base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 
  9. sys.path.append(base_dir) 
  10. from logger.logger import log_v 
  11. from celery import Task 
  12. from platLogin.login import Login  # 登陸類 
  13. from celery import Celery 
  14.  
  15. randomQueue = RedisQueue("cookie"
  16.  
  17. celery_app = Celery('task'
  18. celery_app.config_from_object('celeryConfig'
  19.  
  20. S = Send_msg() 
  21.  
  22. dl_dict = { 
  23.     'demo': { 
  24.         'cookie'''
  25.         'loginClass''Login'
  26.     } 
  27.  
  28. # todo 這是三種運行的狀態 
  29. class task_status(Task): 
  30.     def on_success(self, retval, task_id, args, kwargs):  
  31.         log_v.info('任務信息 -> id:{} , arg:{} , successful ..... Done'.format(task_id, args)) 
  32.  
  33.     def on_failure(self, exc, task_id, args, kwargs, einfo):   
  34.         log_v.error('task id:{} , arg:{} , failed ! error : {}'.format(task_id, args, exc)) 
  35.  
  36.     def on_retry(self, exc, task_id, args, kwargs, einfo):  
  37.         log_v.warning('task id:{} , arg:{} , retry !  info: {}'.format(task_id, args, exc)) 
  38.  
  39.  
  40. # todo 隨便找個hash key作為輪詢對象, celery在win10系統可能不太穩定,有時候會有連接斷開的情況 
  41. @celery_app.task(base=task_status) 
  42. def get_cookie_status(platName="demo"): 
  43.     try: 
  44.         # log_v.debug(f'[+] 輪詢 {platName} 定時器啟動 ..... Done'
  45.         randomQueue.get_hash(platName).decode() 
  46.         log_v.debug(f'[+] 輪詢 {platName} 成功 ..... Done'
  47.         return "Erp 輪詢成功" 
  48.     except
  49.         return "Erp 輪詢失敗" 
  50.  
  51.  
  52. @celery_app.task(base=task_status) 
  53. def set_plat_cookie(platName="demo", shopId=None): 
  54.     log_v.debug(f"[+] {platName} 正在登陸"
  55.     core = eval(dl_dict[platName]['loginClass'])(shopId=shopId) 
  56.     result = core.run() 
  57.     return result 

Celery 配置文件是這樣的

  1. from __future__ import absolute_import 
  2. import datetime 
  3. from kombu import Exchange, Queue 
  4. from celery.schedules import crontab 
  5. from urllib import parse 
  6.  
  7. BROKER_URL = f'redis://root:{parse.quote("你的不規則密碼")}@主機:6379/15' 
  8.  
  9. # 導入任務,如tasks.py 
  10. CELERY_IMPORTS = ('monitor.tasks',) 
  11.  
  12. # 列化任務載荷的默認的序列化方式 
  13. CELERY_TASK_SERIALIZER = 'json' 
  14.  
  15. # 結果序列化方式 
  16. CELERY_RESULT_SERIALIZER = 'json' 
  17. CELERY_ACCEPT_CONTENT = ['json'
  18.  
  19. CELERY_TIMEZONE = 'Asia/Shanghai'  # 指定時區,不指定默認為 'UTC' 
  20. # CELERY_TIMEZONE='UTC' 
  21.  
  22. CELERYBEAT_SCHEDULE = { 
  23.     'add-every-60-seconds': { 
  24.         'task''tasks.get_cookie_status'
  25.         'schedule': datetime.timedelta(minutes=1),  # 每 1 分鐘執行一次 
  26.         'args': ()  # 任務函數參數 
  27.     }, 

啟動服務

  1. celery -A tasks beat -l INFO 
  2. celery -A tasks worker -l INFO -c 2 

以 2 個線程啟動消費者隊列服務并啟用定時任務,當發現當前平臺的 cookie 不可用時,我會向 Celery 發送一個信號(就是調用了前面的set_plat_cookie 這個方法),消費者得到這個任務這個就會執行自動化腳本以獲取 cookie 并儲存在 Redis 中,使用時在從 Redis 中獲取就能正常請求到該平臺的數據。

在空閑時間,Celery中的 get_cookie_status 方法會每隔一分鐘向 Redis 請求數據,這就是我們設置的 1分鐘心跳。

這樣不管我們的 Celery 是否是后臺啟動,都不會出現假死、卡死的狀態,則萬事大吉矣!!

6 總結

 

本文為了解決 Celery 在 windows 中的這種弊端,為 Celery 任務隊列設置一個心跳時間,比如每一分鐘或者每五分鐘向 Redis 數據庫發送一次數據以保證隊列始終是活躍的狀態,這樣只要你的電腦不關機并保持網絡暢通(如果是遠程 Redis),Celery 任務隊列服務都不會出現假死、卡死的狀態。

 

責任編輯:武曉燕 來源: Python爬蟲與數據挖掘
相關推薦

2018-05-22 15:30:30

Python網絡爬蟲分布式爬蟲

2020-06-01 16:25:43

WindowsLinux命令

2025-11-11 07:51:00

2018-05-09 09:44:51

Java分布式系統

2021-10-30 19:30:23

分布式Celery隊列

2011-05-03 15:59:00

黑盒打印機

2025-05-07 00:31:30

2011-01-10 14:41:26

2021-07-14 09:00:00

JavaFX開發應用

2018-07-02 08:25:14

2023-05-26 00:34:21

WindowsHadoopLinux

2011-08-29 18:03:47

設置路由器路由器

2021-09-26 16:08:23

CC++clang_forma

2011-02-22 13:46:27

微軟SQL.NET

2021-02-26 11:54:38

MyBatis 插件接口

2021-12-28 08:38:26

Linux 中斷喚醒系統Linux 系統

2023-04-26 12:46:43

DockerSpringKubernetes

2022-12-07 08:42:35

2022-03-14 14:47:21

HarmonyOS操作系統鴻蒙

2022-07-27 08:16:22

搜索引擎Lucene
點贊
收藏

51CTO技術棧公眾號

综合久久久久久| 国产亚洲综合精品| 9191久久久久久久久久久| 成人黄色片免费| 天堂在线观看av| 日本午夜一区二区| 久久这里只有精品99| 国产a√精品区二区三区四区| 超碰资源在线| 中文字幕中文字幕中文字幕亚洲无线| 成人资源av| 最近国语视频在线观看免费播放| 欧美精品一线| 中文字幕欧美日韩| av2014天堂网| 精品国产一级| 91国产免费看| 亚洲理论电影在线观看| 拍真实国产伦偷精品| 97se亚洲国产综合自在线| 亚洲iv一区二区三区| 日本黄色中文字幕| 一区在线免费| 久久伊人精品天天| 精品亚洲aⅴ无码一区二区三区| 亚洲一区二区电影| 欧美日韩国产高清一区二区三区| 毛片在线视频播放| 欧美aaa免费| 中文字幕字幕中文在线中不卡视频| 精品国产综合区久久久久久| 99热这里只有精品3| 日韩精品亚洲专区| 欧美在线视频网| 国产在线一二区| 在线中文字幕第一区| 中文字幕视频在线免费欧美日韩综合在线看| 性生交大片免费看l| 少妇高潮一区二区三区99| 色菇凉天天综合网| 无码aⅴ精品一区二区三区浪潮| 91精品国产闺蜜国产在线闺蜜| 91丨porny丨在线中文 | 2一3sex性hd| 国产精品麻豆| 制服丝袜中文字幕一区| 校园春色 亚洲色图| 国模冰冰炮一区二区| 欧美日韩国产综合视频在线观看中文| 精品成在人线av无码免费看| 91一区二区三区在线| 成人欧美一区二区三区1314| 亚洲人成网站在线播放2019| www在线免费观看| 国产三级精品视频| 日韩在线电影一区| av午夜在线| 国产精品久久久久久亚洲毛片 | 99国产视频| 国产成人精品一区二区无码呦 | 99精彩视频在线观看免费| 国产精品久久久久久在线| 国产呦萝稀缺另类资源| 成人午夜在线观看| av免费观看在线| 高清不卡一区二区| 久久精品日产第一区二区三区乱码 | 久草在线资源站资源站| 亚洲成人免费影院| 亚洲 高清 成人 动漫| 乡村艳史在线观看| 欧美在线观看禁18| 加勒比av中文字幕| 日韩在线成人| 亚洲精品一区二区久| 日韩精品电影一区二区| 成人激情视频| 久热在线中文字幕色999舞| 精品一区在线观看视频| 在线欧美三区| 国产99久久精品一区二区| 进去里视频在线观看| 国内精品视频666| 国产精品区一区| 精品美女视频在线观看免费软件 | 亚洲精品9999| 亚洲精品一线| 欧美性色19p| 欧美日韩一区二区三区69堂| 精品国产乱码久久久久久樱花| 精品国产免费人成电影在线观看四季 | 国产精品久久久久精| 成人污视频在线观看| 日本婷婷久久久久久久久一区二区 | 欧美成人黄色小视频| 国产精品美女久久久久av爽| 男女性色大片免费观看一区二区 | 日韩一级在线| 国产色视频一区| 老牛影视av牛牛影视av| 久久久久9999亚洲精品| 日韩亚洲欧美一区二区| 蜜臀国产一区| 日韩欧美电影一区| 亚洲欧洲久久久| 国产精品v日韩精品v欧美精品网站| 国产91|九色| www.成人免费视频| 国产嫩草影院久久久久| 亚洲理论电影在线观看| 伊人久久大香伊蕉在人线观看热v| 亚洲国产精品久久久| 5566中文字幕| 男女精品视频| 高清不卡日本v二区在线| 91亚洲精选| 欧美日韩亚洲视频一区| 少妇伦子伦精品无吗| 日韩综合在线| 日本精品视频在线观看| 亚洲黄色精品视频| 国产精品久久久久久久久果冻传媒| r级无码视频在线观看| 3d动漫一区二区三区在线观看| 国产偷亚洲偷欧美偷精品| 久久午夜鲁丝片午夜精品| 看电视剧不卡顿的网站| 久久资源av| 国产又色又爽又黄刺激在线视频| 欧美日韩在线三级| 最新中文字幕av| 翔田千里一区二区| 精品一区久久久| 里番在线播放| 日韩网站在线看片你懂的| 少妇视频一区二区| 日韩成人午夜精品| 日产精品久久久一区二区| 麻豆网站免费在线观看| 亚洲成人黄色在线观看| 懂色av.com| 成人永久aaa| 丁香六月激情婷婷| 999久久精品| 欧美激情亚洲国产| 亚洲国产精品成人久久蜜臀| 亚洲最快最全在线视频| 亚洲 自拍 另类 欧美 丝袜| 欧美一区国产在线| 91在线短视频| 免费毛片在线看片免费丝瓜视频 | 国产在线播放91| 在线观看美女网站大全免费| 欧美日韩中文字幕一区二区| 纪美影视在线观看电视版使用方法| 日韩成人精品在线观看| 亚洲欧洲一区二区| 国产精品免费精品自在线观看| 久久亚洲精品成人| 成 人 黄 色 片 在线播放| 一区二区三区不卡在线观看| 国产女主播在线播放| 亚洲另类黄色| 日本欧洲国产一区二区| 青青在线精品| 欧美不卡视频一区发布| 黄色av网址在线| 欧美性xxxxxxx| 人人妻人人澡人人爽| 麻豆国产精品视频| 老汉色影院首页| 高潮久久久久久久久久久久久久 | 日韩一区二区三区四区五区| 久久成人这里只有精品| 欧美熟妇另类久久久久久不卡| 岛国精品视频在线播放| 成人一级片免费看| 国产一区二区美女| jizzjizz国产精品喷水| 日本一区二区三区视频| 91大片在线观看| 在线视频超级| 久久久国产成人精品| 黄色小视频免费观看| 在线免费观看日韩欧美| 日本中文字幕免费在线观看| 91视频在线看| 黄色三级视频在线播放| 亚洲久久一区| 一本色道久久综合亚洲精品婷婷 | 日韩av最新在线| 中文字幕在线观看你懂的| 一区二区免费在线| 国产精品成人无码免费| 国产91对白在线观看九色| 成人三级视频在线播放| 午夜国产一区| 日韩.欧美.亚洲| 久久精品国产亚洲blacked| 国产精品手机播放| 成人在线黄色电影| 精品国产一区二区三区久久久| 天堂av2024| 欧美精品欧美精品系列| 日本熟女毛茸茸| 一区二区三区欧美亚洲| 免费看黄色av| 99这里只有久久精品视频| 最新av免费在线观看| 亚洲欧美日韩专区| 男人添女荫道口女人有什么感觉| 欧美亚洲在线日韩| 精品日韩电影| 911亚洲精品| 91免费看国产| 日韩av电影资源网| 欧美性受xxxx黑人猛交| 色噜噜狠狠狠综合欧洲色8| 日韩一区二区av| 户外极限露出调教在线视频| 亚洲成人黄色网| www.av黄色| 3atv一区二区三区| 亚洲无码精品在线播放| 欧美亚洲一区二区在线| 二区视频在线观看| 亚洲国产一区视频| 国产一区二区三区视频播放| 久久久噜噜噜久久中文字幕色伊伊 | 香蕉大人久久国产成人av| 国产精品一二三在线| 97在线超碰| 欧美激情va永久在线播放| caoporn免费在线视频| 久久激情五月丁香伊人| 香蕉视频在线看| 中文字幕欧美亚洲| av大片在线看| 中文字幕在线看视频国产欧美在线看完整| 日本又骚又刺激的视频在线观看| 日韩av在线免费观看| 99国产精品久久久久久久成人| 欧美日韩黄色影视| 中文字幕日本人妻久久久免费 | 欧美日韩在线视频一区| 黄网在线观看视频| 精品久久久在线观看| 欧美一级视频免费观看| 精品欧美国产一区二区三区| 西西44rtwww国产精品| 欧美日韩美女在线观看| 日韩精品在线免费视频| 一本大道久久精品懂色aⅴ | 日本欧美在线观看| 性生交免费视频| 精品伊人久久久久7777人| 中文字幕22页| 国产精品99久久久久| 亚洲av无码久久精品色欲| 成人一级视频在线观看| 无码精品一区二区三区在线播放 | 在线观看亚洲网站| 一区二区三区在线观看网站| 国产一级免费观看| 欧美日韩国产综合视频在线观看中文| 久久国产黄色片| 在线观看网站黄不卡| 中文字幕在线观看国产| 日韩精品中午字幕| 视频一区二区三区在线看免费看 | 精品女人久久久| 亚洲日本在线天堂| 国产真实夫妇交换视频| 色综合久久88色综合天天免费| 中文字幕 人妻熟女| 欧美一区二区三区免费在线看| 成人午夜福利视频| 亚洲人成网站免费播放| 国产黄a三级三级三级av在线看 | 一级黄色小视频| 精品国产一区二区三区四区四| 午夜视频免费在线| 色yeye香蕉凹凸一区二区av| 福利在线导航136| 国产成人自拍视频在线观看| 国产精品成人**免费视频| 精品一区久久| 亚洲成人精品| 人妻内射一区二区在线视频 | 激情久久五月| 看欧美ab黄色大片视频免费| 国产成人精品一区二区三区网站观看 | 日韩欧美不卡在线| 免费看精品久久片| v天堂中文在线| 中文字幕亚洲成人| 免费黄色网址在线| 欧美videossexotv100| 阿v免费在线观看| 久久人91精品久久久久久不卡| 国产精品高潮久久| 精品久久蜜桃| 亚洲美女视频| 宅男噜噜噜66国产免费观看| 不卡一区二区在线| 99自拍视频在线| 91久久人澡人人添人人爽欧美| 丰满少妇高潮在线观看| www.国产精品一二区| 欧美成人免费电影| 国产伦精品一区二区三区高清版| 9191国语精品高清在线| 99草草国产熟女视频在线| 丁香婷婷深情五月亚洲| 欧美日韩黄色网| 欧美四级电影网| 激情视频在线观看免费| 97视频com| 激情亚洲另类图片区小说区| 男女h黄动漫啪啪无遮挡软件| 日韩精品高清不卡| 最新中文字幕视频| 性做久久久久久久久| 国产成人三级在线播放| xxx一区二区| 亚洲欧美在线综合| 色综合视频二区偷拍在线| 国产精品一卡| 中文字幕免费在线播放| 亚洲国产另类av| 亚洲精品成人电影| 麻豆一区二区在线观看| 国产精品亚洲综合在线观看| 亚洲国产成人不卡| 青娱乐精品在线视频| 九九九视频在线观看| 一本大道久久a久久综合婷婷 | 久久激情视频久久| 小说区图片区亚洲| 亚洲一区bb| 黄色小说综合网站| 视频国产一区二区| 777xxx欧美| av在线免费播放| 国产66精品久久久久999小说| 欧美精品大片| 制服丝袜在线第一页| 午夜影视日本亚洲欧洲精品| 农村少妇久久久久久久| 2021国产精品视频| 国产欧美一区| 午夜剧场高清版免费观看| 国产精品久久久久永久免费观看 | 最新国产成人av网站网址麻豆| 蜜桃视频成人m3u8| 亚洲国产一区二区三区在线播| 日日欢夜夜爽一区| 激情高潮到大叫狂喷水| 制服丝袜一区二区三区| av中文字幕在线播放| 国产精品久久久久久久久婷婷 | 国产精品欧美久久久| 97视频精品| 亚洲国产精品第一页| 性做久久久久久免费观看欧美| 四虎精品成人免费网站| 国产精品第一视频| 亚洲成av人片乱码色午夜| 性活交片大全免费看| 欧美性猛交xxxx乱大交| 1769在线观看| 国产成人女人毛片视频在线| 国产日韩专区| 最新av电影网站| 亚洲成av人乱码色午夜| 91久久国产综合久久91猫猫| 亚洲欧美日韩另类精品一区二区三区 | 37p粉嫩大胆色噜噜噜| 欧美精选一区二区| 俺来俺也去www色在线观看| 欧洲精品在线一区| 国产一区二区三区香蕉| 日韩福利片在线观看| 一区二区三区美女xx视频| 精品91福利视频| 日本成年人网址| 亚洲精品久久久久久国产精华液| 香蕉视频网站在线| 国产日韩欧美另类| 亚洲一区二区三区高清不卡| 成人黄色短视频| 日韩av中文字幕在线| av一级久久| 日本在线视频www| 一区二区三区日韩精品| 成人精品一区二区三区免费| 国产精品果冻传媒潘| 久久精品国产亚洲高清剧情介绍 | 欧美不卡福利| 国产精品中文字幕日韩精品 |