在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Streamlit:一個(gè)開箱即用的工具集

科技綠洲 ? 來源:Python實(shí)用寶典 ? 作者:Python實(shí)用寶典 ? 2023-10-17 11:13 ? 次閱讀

今天要介紹這個(gè)神器,可以說是 pywebio 的 Plus + Pro + Max 版,原諒我的詞窮,但它真的非常的強(qiáng)。
正常在學(xué)習(xí)一個(gè)新框架之前, 肯定要先調(diào)研下這個(gè)框架究竟能做些什么事吧?

但對(duì)于 streamlit 來說,請(qǐng)你相信我,這是一個(gè)你可以無腦去學(xué)習(xí)的框架,我之所以這么說,是因?yàn)槲蚁嘈沤K有一天,你一定能用得上它。

Streamlit 是一個(gè)用于機(jī)器學(xué)習(xí)、數(shù)據(jù)可視化的 Python 框架,它能幾行代碼就構(gòu)建出一個(gè)精美的在線 app 應(yīng)用。

它能做什么,取決于你想干什么?

streamlit 的功能強(qiáng)大,要學(xué)習(xí)的函數(shù)雖然多,但非常容易上手,學(xué)習(xí)成本卻遠(yuǎn)比 前端+Flask 來得低得低。接下來,我會(huì)一一介紹。

# 1. 如何安裝?

和安裝其他包一樣,安裝 streamlit 非常簡單,一條命令即可

? pip install streamlit

考慮到 streamlit 會(huì)附帶安裝比較多的工具依賴包,為了不污染當(dāng)前的主要環(huán)境,我使用 venv 新建一個(gè)虛擬環(huán)境。

? python3 -m venv .

然后使用如下命令進(jìn)入該虛擬環(huán)境

? source ./venv/bin/activate

接下來,再安裝 streamlit ,命令在上邊。

安裝的包比較多(數(shù)了下竟然接近 92 個(gè)?),過程也會(huì)很久,需要點(diǎn)耐心

? pip list | wc -l
      92

在安裝過程中,可能會(huì)遇到一些問題,但也不一定,這取決于你的機(jī)器,如遇到問題請(qǐng)自行借助搜索引擎解決。

# 2. 入門示例

Streamlit 提供了一些入門示例,執(zhí)行如下命令即可

? streamlit hello

執(zhí)行后 streamlit 會(huì)自動(dòng)打開瀏覽器加載一個(gè)本地頁面 http://localhost:8501/

這里面有很多的 demo,你可以看一下,這些 Demo 還有對(duì)應(yīng)的配套代碼

圖片

這些代碼直接拷貝保存,就可以在本地直接通過如下命令直接運(yùn)行

? streamlit run st-demo.py

# 2. Markdown 文本

導(dǎo)入 streamlit 后,就可以直接使用 st.markdown() 初始化,調(diào)用不同的方法,就可以往文檔對(duì)象中填入內(nèi)容

  • st.title():文章大標(biāo)題
  • st.header():一級(jí)標(biāo)題
  • st.subheader():二級(jí)標(biāo)題
  • st.text():文本
  • st.code():代碼,同時(shí)可設(shè)置代碼的語言,顯示的時(shí)候會(huì)高亮
  • st.latex():latex 公式
  • st.caption():小字體文本

如下我自己寫的一個(gè)小 Demo,供你參考

import streamlit as st

# markdown
st.markdown('Streamlit Demo')

# 設(shè)置網(wǎng)頁標(biāo)題
st.title('一個(gè)傻瓜式構(gòu)建可視化 web的 Python 神器 -- streamlit')

# 展示一級(jí)標(biāo)題
st.header('1. 安裝')

st.text('和安裝其他包一樣,安裝 streamlit 非常簡單,一條命令即可')
code1 = '''pip3 install streamlit'''
st.code(code1, language='bash')


# 展示一級(jí)標(biāo)題
st.header('2. 使用')

# 展示二級(jí)標(biāo)題
st.subheader('2.1 生成 Markdown 文檔')

# 純文本
st.text('導(dǎo)入 streamlit 后,就可以直接使用 st.markdown() 初始化')

# 展示代碼,有高亮效果
code2 = '''import streamlit as st
st.markdown('Streamlit Demo')'''
st.code(code2, language='python')

Streamlit 運(yùn)行的方式 與普通的腳本 有所不同,應(yīng)該使用 streamlit run st-demo.py

圖片

運(yùn)行后就會(huì)自動(dòng)打開瀏覽器加載這個(gè)頁面,如果沒有自動(dòng)打開,也可以手動(dòng)拷貝上圖中的鏈接打開訪問。

是不是有點(diǎn)那個(gè)味了?就這,還只是開胃菜~

圖片

# 3. 數(shù)據(jù)圖表支持

3.1 圖表組件

關(guān)于數(shù)據(jù)的展示,streamlit 由兩個(gè)組件進(jìn)行支持

  • table:普通的表格,用于靜態(tài)數(shù)據(jù)的展示
  • dataframe:高級(jí)的表格,可以進(jìn)行數(shù)據(jù)的操作,比如排序

Table 的示例

df = pd.DataFrame(
    np.random.randn(10, 5),
    columns=('第%d列' % (i+1) for i in range(5))
)

st.table(df)

效果如下

圖片

Datafram 的示例

df = pd.DataFrame(
    np.random.randn(10, 5),
    columns=('第%d列' % (i+1) for i in range(5))
)

st.dataframe(df.style.highlight_max(axis=0))

效果如下,可以看到在圖示外,有個(gè)向下的小箭頭,你點(diǎn)一下,就會(huì)進(jìn)行排序

除此之外,你還能看到我對(duì)最大值進(jìn)行了高亮顯示,原因是我傳入的參數(shù)是 df.style.highlight_max(axis=0)

圖片

其實(shí)還有 n 多種樣式,比如:

  • highlight_null:空值高亮
  • highlight_min:最小值高亮
  • highlight_max:最大值高亮
  • highlight_between:某區(qū)間內(nèi)的值高亮
  • highlight_quantile:暫沒用過

這些你都可以在源代碼中找到示例

3.2 監(jiān)控組件

在采集到一些監(jiān)控?cái)?shù)據(jù)后,若你需要做一個(gè)監(jiān)控面板, streamlit 也為你提供的 metric 組件

如下代碼創(chuàng)建 三個(gè)指標(biāo),并且填入對(duì)應(yīng)的數(shù)據(jù)

col1, col2, col3 = st.columns(3)
col1.metric("Temperature", "70 °F", "1.2 °F")
col2.metric("Wind", "9 mph", "-8%")
col3.metric("Humidity", "86%", "4%")

刷新頁面,就能看到下面的效果

圖片

3.3 原生圖表組件

Streamlit 原生支持多種圖表:

  • st.line_chart:折線圖
  • st.area_chart:面積圖
  • st.bar_chart:柱狀圖
  • st.map:地圖

下面一一展示

折線圖

chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns=['a', 'b', 'c'])

st.line_chart(chart_data)

圖片

面積圖

chart_data = pd.DataFrame(
    np.random.randn(20, 3),
    columns = ['a', 'b', 'c'])

st.area_chart(chart_data)

圖片

柱狀圖

chart_data = pd.DataFrame(
    np.random.randn(50, 3),
    columns = ["a", "b", "c"])
st.bar_chart(chart_data)

圖片

地圖

df = pd.DataFrame(
    np.random.randn(1000, 2) / [50, 50] + [37.76, -122.4],
    columns=['lat', 'lon']
)
st.map(df)

圖片

3.4 外部圖表組件

Streamlit 的一些原生圖表組件,雖然做到了傻瓜式,但僅能輸入數(shù)據(jù)、高度和寬度,如果你想更漂亮的圖表,就像 matplotlib.pyplot、Altair、vega-lite、Plotly、Bokeh、PyDeck、Graphviz 那樣,streamlit 也提供了支持:

  • st.pyplot
  • st.bokeh_chart
  • st.altair_chart
  • st.altair_chart
  • st.vega_lite_chart
  • st.plotly_chart
  • st.pydeck_chart
  • st.graphviz_chart

對(duì)于這部分,熟悉的同學(xué)自行嘗試了,這里不再演示。

圖片

# 4. 用戶操作支持

前面 streamlit 都只是展示文本和數(shù)據(jù),如果僅是如此,那 streamlit 也就 just so so

對(duì)于那些不會(huì)前端,并且平時(shí)有需要寫一些簡單的頁面的人說,能寫一些交互界面才是硬需求。

慶幸的是,你平時(shí)在網(wǎng)頁上、app 上能看到的交互組件,Streamlit 幾乎都能支持。。

  • button:按鈕
  • download_button:文件下載
  • file_uploader:文件上傳
  • checkbox:復(fù)選框
  • radio:單選框
  • selectbox:下拉單選框
  • multiselect:下拉多選框
  • slider:滑動(dòng)條
  • select_slider:選擇條
  • text_input:文本輸入框
  • text_area:文本展示框
  • number_input:數(shù)字輸入框,支持加減按鈕
  • date_input:日期選擇框
  • time_input:時(shí)間選擇框
  • color_picker:顏色選擇器

這些內(nèi)容非常多,也比較簡單,一個(gè)一個(gè)舉例也沒必要,大家直接去看 streamlit 源碼里的注釋即可。

圖片

# 5. 多媒體組件

想要在頁面上播放圖片、音頻視頻,可以使用 streamlit 的這三個(gè)組件:

  • st.image
  • st.audio
  • st.video

圖片

# 6. 狀態(tài)組件

狀態(tài)組件用來向用戶展示當(dāng)前程序的運(yùn)行狀態(tài),包括:

  • progress:進(jìn)度條,如游戲加載進(jìn)度
  • spinner:等待提示
  • balloons:頁面底部飄氣球,表示祝賀
  • error:顯示錯(cuò)誤信息
  • warning:顯示報(bào)警信息
  • info:顯示常規(guī)信息
  • success:顯示成功信息
  • exception:顯示異常信息(代碼錯(cuò)誤棧)

效果如下:

圖片
img

# 7. 頁面布局

Streamlit 是自上而下渲染的,組件在頁面上的排列順序與代碼的執(zhí)行順序一致。

一個(gè)精美的 web app ,只有上下單欄式的布局肯定是不夠的。

實(shí)際上 streamlit 還提供了多種多樣的布局:

st.sidebar:側(cè)邊欄

側(cè)邊欄可以做一些用戶操作控件

圖片

st.columns:列容器,處在同一個(gè) columns 內(nèi)組件,按照從左至右順序展示

st.expander:隱藏信息,點(diǎn)擊后可展開展示詳細(xì)內(nèi)容,如:展示更多

st.container:包含多組件的容器

st.empty:包含單組件的容器

# 8. 流程控制系統(tǒng)

Streamlit 是自上而下逐步渲染出來的,若你的應(yīng)用場景需要對(duì)渲染做一些控制,streamlit 也有提供對(duì)應(yīng)的方法

  • st.stop:可以讓 Streamlit 應(yīng)用停止而不向下執(zhí)行,如:驗(yàn)證碼通過后,再向下運(yùn)行展示后續(xù)內(nèi)容。
  • st.form:表單,Streamlit 在某個(gè)組件有交互后就會(huì)重新執(zhí)行頁面程序,而有時(shí)候需要等一組組件都完成交互后再刷新(如:登錄填用戶名和密碼),這時(shí)候就需要將這些組件添加到 form 中
  • st.form_submit_button:在 form 中使用,提交表單。

# 9. 緩存特性提升速度

當(dāng)用戶在頁面上做一些操作的時(shí)候,比如輸入數(shù)據(jù),都會(huì)觸發(fā)整個(gè) streamlit 應(yīng)用代碼的重新執(zhí)行,如果其中有讀取外部數(shù)據(jù)的步驟(數(shù) GB 的數(shù)據(jù)),那這種性能損耗是非常可怕的。

但 streamlit 提供了一個(gè)緩存裝飾器,當(dāng)要重新執(zhí)行代碼渲染頁面的時(shí)候,就會(huì)先去緩存里查一下,如果代碼或者數(shù)據(jù)沒有發(fā)生變化,就直接調(diào)用緩存的結(jié)果即可。

使用方法也簡單,在需要緩存的函數(shù)加上 @st.cache 裝飾器即可。

DATE_COLUMN = 'date/time'
DATA_URL = ('https://s3-us-west-2.amazonaws.com/'
            'streamlit-demo-data/uber-raw-data-sep14.csv.gz')

@st.cache
def load_data(nrows):
    data = pd.read_csv(DATA_URL, nrows=nrows)
    lowercase = lambda x: str(x).lower()
    data.rename(lowercase, axis='columns', inplace=True)
    data[DATE_COLUMN] = pd.to_datetime(data[DATE_COLUMN])
    return data

# 10. 部署上線

在本地編寫的 streamlit 應(yīng)用,運(yùn)行起來后只能在本地訪問。

如果需要讓別人也能訪問這個(gè)應(yīng)用,那你需要有一臺(tái)服務(wù)器,這樣才能通過公網(wǎng)ip進(jìn)行訪問

如果你需要服務(wù)器,可以點(diǎn) 這個(gè)鏈接 領(lǐng)個(gè)卷有優(yōu)惠。

另外,還有一個(gè)選擇,就是使用 Heroku (https://heroku.com)部署你的應(yīng)用。

Heroku是一個(gè)支持多種編程語言的云平臺(tái)即服務(wù),你只要注冊(cè)一個(gè)帳號(hào)(聽說網(wǎng)易和 QQ 郵箱不行,我使用的 Gmail 注冊(cè)的)

圖片

然后創(chuàng)建自己的 app

圖片

這個(gè) App 名字好像是要全網(wǎng)唯一,本想取個(gè) hello-streamlit 的,發(fā)現(xiàn)早有人取過了。

圖片

然后為你的應(yīng)用,創(chuàng)建幾個(gè) Heroku 規(guī)定的文件

  • requirements.txt:依賴包文件
  • setup.sh:安裝腳本,主要是創(chuàng)建文件夾,寫入配置文件
  • Procfile:啟動(dòng)腳本,告訴 Heroku 如何安裝并啟動(dòng)應(yīng)用

這些文件的編碼有固定的格式,我這邊編寫好了一份模板下載地址 https://www.lanzout.com/ikMWkxqktgj

圖片

拿到了這份模板后,你就可以基于這份模板創(chuàng)建你的 git 倉庫

git init
git add --all
git commit -m "init"

然后部署到 Heroku

heroku login
heroku create
git push heroku master
heroku ps:scale web=1

按照命令行輸出的URL就可以訪問你的應(yīng)用了。

查看Heroku日志:

heroku logs --tail

要想使用自己域名,需要先通過Heroku驗(yàn)證。然后運(yùn)行:

heroku domains:add hivecnstats.iswbm.com

使用 Heroku 唯一的缺點(diǎn)就是 Heroku 是需要梯子的,一般人訪問不了,沒條件的還是乖乖的備臺(tái)服務(wù)器吧。

# 12. 總結(jié)一下

Streamlit 一個(gè)開箱即用的工具集,它可以讓一個(gè)普通的個(gè)人開發(fā)者免于學(xué)習(xí)繁雜的前端知識(shí),就可以輕松、快速的構(gòu)建一個(gè)簡潔、優(yōu)雅的 web app 應(yīng)用,這是 streamlit 最吸引人的地方。

對(duì)于從事數(shù)據(jù)分析,機(jī)器學(xué)習(xí)領(lǐng)域的人來說,它絕對(duì)是開發(fā)神器,但即使你不是這些領(lǐng)域的人,你肯定也會(huì)有搭建一個(gè) web app 需求的時(shí)候,streamlit 正是你需要的。

這篇文章從前天晚上開始寫,一直到今天才完成,雖然花的時(shí)候比較長,但 streamlit 它值得。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 工具
    +關(guān)注

    關(guān)注

    4

    文章

    314

    瀏覽量

    28147
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8487

    瀏覽量

    133975
  • 數(shù)據(jù)可視化

    關(guān)注

    0

    文章

    475

    瀏覽量

    10690
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    快速開箱即用體驗(yàn) AMD / Xilinx Kria? KD240驅(qū)動(dòng)器入門套件

    快速開箱即用體驗(yàn) AMD / Xilinx Kria? KD240驅(qū)動(dòng)器入門套件
    的頭像 發(fā)表于 06-22 10:26 ?8446次閱讀
    快速<b class='flag-5'>開箱</b><b class='flag-5'>即用</b>體驗(yàn) AMD / Xilinx Kria? KD240驅(qū)動(dòng)器入門套件

    單片機(jī)工具

    單片機(jī)工具,很多小工具~~
    發(fā)表于 03-03 22:15

    單片機(jī)小工具大全錦92個(gè)工具收集 有效期30天

    本帖最后由 毛坦523416 于 2015-11-22 19:27 編輯 鏈接點(diǎn)擊文字--->單片機(jī)工具大全錦92個(gè)工具收集單片機(jī)開發(fā)工具
    發(fā)表于 12-30 16:29

    開箱即用+恢復(fù)出廠設(shè)置

    簡直是太悲催了! 希望大家吸取我的教訓(xùn)!打開開箱即用的PDF,按步驟安裝SecureRTC調(diào)試終端軟件(如果不知道端口號(hào),可能是沒有驅(qū)動(dòng),若沒找到驅(qū)動(dòng),可用魯大師自動(dòng)掃描安裝即可,之前我在用6748
    發(fā)表于 01-20 10:02

    8051工具

    本文提供了單片機(jī)學(xué)習(xí)的工具:8051工具,希望對(duì)你有幫助。
    發(fā)表于 05-27 17:35 ?299次下載

    實(shí)現(xiàn)故障自愈要攻克的3個(gè)問題以及開箱即用的方案

    今天就和大家聊聊實(shí)現(xiàn)故障自愈要攻克的3個(gè)問題,以及獻(xiàn)上開箱即用的方案。自動(dòng)化的要點(diǎn)是什么?把人的經(jīng)驗(yàn)抽象、固化為程序處理,工業(yè)(第3次工業(yè)革命)或互聯(lián)網(wǎng)都是如此。
    的頭像 發(fā)表于 05-19 10:59 ?1.1w次閱讀
    實(shí)現(xiàn)故障自愈要攻克的3<b class='flag-5'>個(gè)</b>問題以及<b class='flag-5'>開箱</b><b class='flag-5'>即用</b>的方案

    ABC體機(jī)3.0:AI開箱即用即開發(fā)

    ABC體機(jī)3.0在大數(shù)據(jù)體機(jī)、訓(xùn)練體機(jī)之上,集成了更多的AI能力,包括人臉、語音、視頻、NLP等通用AI和面向工業(yè)質(zhì)檢、金融風(fēng)控的專用AI,實(shí)現(xiàn)開箱
    的頭像 發(fā)表于 09-06 15:00 ?4591次閱讀

    Streamlit推出新的云服務(wù),讓開發(fā)者更容易分享機(jī)器學(xué)習(xí)應(yīng)用

    10月15日消息,由Google LLC的Gradient Ventures支持的人工智能初創(chuàng)公司Streamlit Inc.今天推出了項(xiàng)名為Streamlit Sharing的服務(wù),旨在讓開
    的頭像 發(fā)表于 10-16 15:53 ?3468次閱讀

    GitHub上開源了個(gè)眾多數(shù)據(jù)源于身的爬蟲工具箱——InfoSpider

    InfoSpider 是個(gè)眾多數(shù)據(jù)源于身的爬蟲工具箱,旨在安全快捷的幫助用戶拿回自己的數(shù)據(jù),工具
    的頭像 發(fā)表于 11-23 11:28 ?2158次閱讀

    滲透測試工具箱siusiu的特性及使用

    款基于docker的滲透測試工具箱,致力于做到滲透工具隨身攜帶、開箱即用。減少滲透測試工程師花在安裝
    的頭像 發(fā)表于 10-08 11:54 ?3025次閱讀

    開箱即用的物聯(lián)網(wǎng):構(gòu)建個(gè)無縫、安全的智能家庭網(wǎng)絡(luò)

    開箱即用的物聯(lián)網(wǎng):構(gòu)建個(gè)無縫、安全的智能家庭網(wǎng)絡(luò)
    發(fā)表于 11-01 08:26 ?1次下載
    <b class='flag-5'>開箱</b><b class='flag-5'>即用</b>的物聯(lián)網(wǎng):構(gòu)建<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>無縫、安全的智能家庭網(wǎng)絡(luò)

    可視化即插即用工具箱開源分享

    電子發(fā)燒友網(wǎng)站提供《可視化即插即用工具箱開源分享.zip》資料免費(fèi)下載
    發(fā)表于 12-29 11:37 ?0次下載
    可視化即插<b class='flag-5'>即用工具</b>箱開源分享

    開箱即用!教你如何正確使用華為云CodeArts IDE Online!

    華為云CodeArts IDE Online服務(wù) ,提供了可隨時(shí)隨地編碼的云上開發(fā)環(huán)境,同時(shí)具備開放的生態(tài)和獨(dú)立插件市場,旨在為開發(fā)者提供環(huán)境快速獲取、功能開箱即用、跨越計(jì)算架構(gòu)、隨時(shí)隨地訪問、橫向
    的頭像 發(fā)表于 07-06 11:45 ?766次閱讀
    <b class='flag-5'>開箱</b><b class='flag-5'>即用</b>!教你如何正確使用華為云CodeArts IDE Online!

    開箱即用!教你如何正確使用華為云編譯構(gòu)建服務(wù)CodeArts Build!

    快速形成關(guān)鍵競爭力。 為了讓您更好地了解并使用CodeArts Build,本文將通過2個(gè)短視頻為你介紹CodeArts Build的特性實(shí)踐操作。 01 開箱即用 CodeArts Build內(nèi)置130多個(gè)構(gòu)建環(huán)境、30多個(gè)構(gòu)
    的頭像 發(fā)表于 10-29 15:50 ?977次閱讀
    <b class='flag-5'>開箱</b><b class='flag-5'>即用</b>!教你如何正確使用華為云編譯構(gòu)建服務(wù)CodeArts Build!

    Redis工具的實(shí)現(xiàn)和使用

    Redis 基本上是互聯(lián)網(wǎng)公司必備的工具了,Redis的應(yīng)用場景實(shí)在太多了,但是有很多相似的功能如果每個(gè)項(xiàng)目都要實(shí)現(xiàn)遍就顯得太麻煩了,所以為了方便,我打算開發(fā)個(gè)基于 Redis 的
    的頭像 發(fā)表于 12-03 17:32 ?1403次閱讀
    Redis<b class='flag-5'>工具</b><b class='flag-5'>集</b>的實(shí)現(xiàn)和使用
    主站蜘蛛池模板: 色135综合网 | 国产真实乱xxxav | 色多多免费在线观看 | 天堂成人网 | 一本在线免费视频 | 羞涩妩媚玉腿呻吟嗯啊销魂迎合 | 国产免费资源 | 色多多在线视频 | 天天干天天色天天干 | 亚洲一区二区三区在线播放 | 四虎最新紧急更新地址 | 日本黄色大片免费观看 | 亚洲视频区| 欧美性生活网站 | 亚洲一区免费在线观看 | 曰韩一级| 日韩免费高清一级毛片在线 | 国产性做久久久久久 | 精品无码三级在线观看视频 | 久久15| 韩国韩宝贝2020vip福利视频 | 日本69sex护士hd | 国产精品嫩草影院午夜 | 日韩一级黄色录像 | 1000部啪啪未满十八勿入中国 | 三级黄色免费 | 韩国三级床戏合集 | 日本69xxxxx| 欧美天天性影院 | 国产美女视频一区二区二三区 | 欧美性网站 | 成人综合在线视频 | 丁香五婷婷 | 成人久久久 | 有一婷婷色 | 免费视频一区 | 国产色av | 亚洲精品中文字幕乱码三区一二 | 性色aⅴ闺蜜一区二区三区 性色成人网 | 中国xxxxx高清免费看视频 | 婷婷九月色|