国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

大數(shù)據(jù)畢設(shè)分享(含算法) 大數(shù)據(jù)電影數(shù)據(jù)分析與可視化系統(tǒng)

這篇具有很好參考價值的文章主要介紹了大數(shù)據(jù)畢設(shè)分享(含算法) 大數(shù)據(jù)電影數(shù)據(jù)分析與可視化系統(tǒng)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


0 簡介

今天學(xué)長向大家介紹一個機器視覺的畢設(shè)項目

??基于大數(shù)據(jù)的電影數(shù)據(jù)分析與可視化系統(tǒng)

項目運行效果(視頻):

畢業(yè)設(shè)計 大數(shù)據(jù)電影評論情感分析

項目獲?。?/strong>

https://gitee.com/assistant-a/project-sharing文章來源地址http://www.zghlxwxcb.cn/news/detail-835937.html

1 課題背景

研究中國用戶電影數(shù)據(jù),有助于窺探中國電影市場發(fā)展背后的規(guī)律,理解其來龍去脈,獲知未來走向。如今互聯(lián)網(wǎng)上中國用戶的電影數(shù)據(jù)集缺失,缺少如MovieLens、Kaggle等獨立機構(gòu)完成長期收集電影數(shù)據(jù)工作,研究人員只能自行收集或下載來自國外的公共電影數(shù)據(jù)集,不具有本地屬性。
本項目爬取豆瓣網(wǎng)相關(guān)電影信息,建立數(shù)據(jù)庫。并根據(jù)此數(shù)據(jù)庫進行了可視化分析,從中提取出大量數(shù)據(jù)背后信息,多維度分析了電影在公映時間、觀眾分布、類別占比、各國市場情況的關(guān)系,從評論詞云、文本情感角度挖掘單部電影呈現(xiàn)的規(guī)律。

2 效果實現(xiàn)

評論情感得分隨時間變化情況如下

大數(shù)據(jù)畢設(shè)分享(含算法) 大數(shù)據(jù)電影數(shù)據(jù)分析與可視化系統(tǒng),算法,python

大數(shù)據(jù)畢設(shè)分享(含算法) 大數(shù)據(jù)電影數(shù)據(jù)分析與可視化系統(tǒng),算法,python

熱門評論列表情況如下
大數(shù)據(jù)畢設(shè)分享(含算法) 大數(shù)據(jù)電影數(shù)據(jù)分析與可視化系統(tǒng),算法,python

3 爬蟲及實現(xiàn)

簡介
網(wǎng)絡(luò)爬蟲是一種按照一定的規(guī)則,自動地抓取萬維網(wǎng)信息的程序或者腳本。爬蟲對某一站點訪問,如果可以訪問就下載其中的網(wǎng)頁內(nèi)容,并且通過爬蟲解析模塊解析得到的網(wǎng)頁鏈接,把這些鏈接作為之后的抓取目標,并且在整個過程中完全不依賴用戶,自動運行。若不能訪問則根據(jù)爬蟲預(yù)先設(shè)定的策略進行下一個 URL的訪問。在整個過程中爬蟲會自動進行異步處理數(shù)據(jù)請求,返回網(wǎng)頁的抓取數(shù)據(jù)。在整個的爬蟲運行之前,用戶都可以自定義的添加代理,偽 裝 請求頭以便更好地獲取網(wǎng)頁數(shù)據(jù)。
爬蟲流程圖如下:
大數(shù)據(jù)畢設(shè)分享(含算法) 大數(shù)據(jù)電影數(shù)據(jù)分析與可視化系統(tǒng),算法,python
部分代碼實現(xiàn)

import re
import requests
import json
import time
from openpyxl import load_workbook, Workbook
from requests import RequestException


def get_detail_page(html):
    try:
        headers = {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"
        }
        cookies = {}
        response = requests.get(url=html, headers=headers, cookies=cookies)
        response.encoding = 'utf-8'
        if response.status_code == 200:
            return response.text
        return None
    except RequestException:
        print('獲取詳情頁錯誤')
        time.sleep(3)
        return get_detail_page(html)

def parse_index_page(html):
    html = get_detail_page(html)
    html = html[12:-1]
    data = json.loads(html)
    id_list = []
    if data:
        for item in data:
            id_list.append(item['url'])
    return id_list

def parse_detail_page(data):
    html = get_detail_page(data)
    info = []
    # 獲取電影名稱
    name_pattern = re.compile('<span property="v:itemreviewed">(.*?)</span>')
    name = re.findall(name_pattern, html)
    info.append(name[0])
    # 獲取評分
    score_pattern = re.compile('rating_num" property="v:average">(.*?)</strong>')
    score = re.findall(score_pattern, html)
    info.append(score[0])
    # 獲取導(dǎo)演
    director_pattern = re.compile('rel="v:directedBy">(.*?)</a>')
    director = re.findall(director_pattern, html)
    print(director)
    info.append(str(director[0]))
    # 獲取演員
    actor_pattern = re.compile('rel="v:starring">(.*?)</a>')
    actor = re.findall(actor_pattern, html)
    info.append(str(actor[0]))
    # 獲取年份
    year_pattern = re.compile('<span class="year">\((.*?)\)</span>')
    year = re.findall(year_pattern, html)
    info.append(year[0])
    # 獲取類型
    type_pattern = re.compile('property="v:genre">(.*?)</span>')
    type = re.findall(type_pattern, html)
    info.append(type[0].split(' /')[0])
    # 獲取時長
    try:
        time_pattern = re.compile('property="v:runtime" content="(.*?)"')
        time = re.findall(time_pattern, html)
        info.append(time[0])
    except:
        info.append('1')
    # 獲取語言
    language_pattern = re.compile('pl">語言:</span>(.*?)<br/>')
    language = re.findall(language_pattern, html)
    info.append(language[0].split(' /')[0])
    # 獲取評價人數(shù)
    comment_pattern = re.compile('property="v:votes">(.*?)</span>')
    comment = re.findall(comment_pattern, html)
    info.append(comment[0])
    # 獲取地區(qū)
    area_pattern = re.compile(' class="pl">制片國家/地區(qū):</span>(.*?)<br/>')
    area = re.findall(area_pattern, html)
    info.append(area[0].split(' /')[0])
    return info


html = 'https://movie.douban.com/j/search_subjects?type=movie&tag=%E5%86%B7%E9%97%A8%E4%BD%B3%E7%89%87&sort=rank&page_limit=20&page_start='


wc = Workbook()
sheet = wc.active
sheet.title = "New"
ws = wc['New']
sheet['A1'] = 'name'
sheet['B1'] = 'score'
sheet['C1'] = 'director'
sheet['D1'] = 'actor'
sheet['E1'] = 'year'
sheet['F1'] = 'type'
sheet['G1'] = 'time'
sheet['H1'] = 'language'
sheet['I1'] = 'comment'
sheet['J1'] = 'area'
ws = wc[wc.sheetnames[0]]
wc.save('豆瓣電影.xlsx')

ti = 1
for i in range(20, 50):
    print(i)
    html1 = html+str(i*20)
    u = parse_index_page(html1)
    print(u)
    for t in u:
        time.sleep(0.5)
        b = parse_detail_page(t)
        print(b)
        ws.append(b)
        wc.save('豆瓣電影.xlsx')
        ti += 1

4 Flask框架

簡介
Flask是一個基于Werkzeug和Jinja2的輕量級Web應(yīng)用程序框架。與其他同類型框架相比,F(xiàn)lask的靈活性、輕便性和安全性更高,而且容易上手,它可以與MVC模式很好地結(jié)合進行開發(fā)。Flask也有強大的定制性,開發(fā)者可以依據(jù)實際需要增加相應(yīng)的功能,在實現(xiàn)豐富的功能和擴展的同時能夠保證核心功能的簡單。Flask豐富的插件庫能夠讓用戶實現(xiàn)網(wǎng)站定制的個性化,從而開發(fā)出功能強大的網(wǎng)站。

Flask項目結(jié)構(gòu)圖
大數(shù)據(jù)畢設(shè)分享(含算法) 大數(shù)據(jù)電影數(shù)據(jù)分析與可視化系統(tǒng),算法,python
部分相關(guān)代碼

from flask import Flask, render_template, jsonify
import requests
from bs4 import BeautifulSoup
from snownlp import SnowNLP
import jieba
import numpy as np

app = Flask(__name__)
app.config.from_object('config')

# 中文停用詞
STOPWORDS = set(map(lambda x: x.strip(), open(r'./stopwords.txt', encoding='utf8').readlines()))

headers = {
    'accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
    'accept-language': "en-US,en;q=0.9,zh-CN;q=0.8,zh-TW;q=0.7,zh;q=0.6",
    'cookie': 'll="108296"; bid=ieDyF9S_Pvo; __utma=30149280.1219785301.1576592769.1576592769.1576592769.1; __utmc=30149280; __utmz=30149280.1576592769.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); _vwo_uuid_v2=DF618B52A6E9245858190AA370A98D7E4|0b4d39fcf413bf2c3e364ddad81e6a76; ct=y; dbcl2="40219042:K/CjqllYI3Y"; ck=FsDX; push_noty_num=0; push_doumail_num=0; douban-fav-remind=1; ap_v=0,6.0',
    'host': "search.douban.com",
    'referer': "https://movie.douban.com/",
    'sec-fetch-mode': "navigate",
    'sec-fetch-site': "same-site",
    'sec-fetch-user': "?1",
    'upgrade-insecure-requests': "1",
    'user-agent': "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36 Edg/79.0.309.56"
}

login_name = None


# --------------------- html render ---------------------
@app.route('/')
def index():
    return render_template('index.html')


@app.route('/search')
def search():
    return render_template('search.html')


@app.route('/search/<movie_name>')
def search2(movie_name):
    return render_template('search.html')


@app.route('/hot_movie')
def hot_movie():
    return render_template('hot_movie.html')


@app.route('/movie_category')
def movie_category():
    return render_template('movie_category.html')


# ------------------ ajax restful api -------------------
@app.route('/check_login')
def check_login():
    """判斷用戶是否登錄"""
    return jsonify({'username': login_name, 'login': login_name is not None})


@app.route('/register/<name>/<pasw>')
def register(name, pasw):
    conn = sqlite3.connect('user_info.db')
    cursor = conn.cursor()

    check_sql = "SELECT * FROM sqlite_master where type='table' and name='user'"
    cursor.execute(check_sql)
    results = cursor.fetchall()
    # 數(shù)據(jù)庫表不存在
    if len(results) == 0:
        # 創(chuàng)建數(shù)據(jù)庫表
        sql = """
                CREATE TABLE user(
                    name CHAR(256),
                    pasw CHAR(256)
                );
                """
        cursor.execute(sql)
        conn.commit()
        print('創(chuàng)建數(shù)據(jù)庫表成功!')

    sql = "INSERT INTO user (name, pasw) VALUES (?,?);"
    cursor.executemany(sql, [(name, pasw)])
    conn.commit()
    return jsonify({'info': '用戶注冊成功!', 'status': 'ok'})


@app.route('/login/<name>/<pasw>')
def login(name, pasw):
    global login_name
    conn = sqlite3.connect('user_info.db')
    cursor = conn.cursor()

    check_sql = "SELECT * FROM sqlite_master where type='table' and name='user'"
    cursor.execute(check_sql)
    results = cursor.fetchall()
    # 數(shù)據(jù)庫表不存在
    if len(results) == 0:
        # 創(chuàng)建數(shù)據(jù)庫表
        sql = """
                CREATE TABLE user(
                    name CHAR(256),
                    pasw CHAR(256)
                );
                """
        cursor.execute(sql)
        conn.commit()
        print('創(chuàng)建數(shù)據(jù)庫表成功!')

    sql = "select * from user where name='{}' and pasw='{}'".format(name, pasw)
    cursor.execute(sql)
    results = cursor.fetchall()

    login_name = name
    if len(results) > 0:
        return jsonify({'info': name + '用戶登錄成功!', 'status': 'ok'})
    else:
        return jsonify({'info': '當前用戶不存在!', 'status': 'error'})

5 Ajax技術(shù)

Ajax 是一種獨立于 Web 服務(wù)器軟件的瀏覽器技術(shù)。

Ajax使用 JavaScript 向服務(wù)器提出請求并處理響應(yīng)而不阻塞的用戶核心對象XMLHttpRequest。通過這個對象,您的 JavaScript 可在不重載頁面的情況與 Web 服務(wù)器交換數(shù)據(jù),即在不需要刷新頁面的情況下,就可以產(chǎn)生局部刷新的效果。

前端將需要的參數(shù)轉(zhuǎn)化為JSON字符串,再通過get/post方式向服務(wù)器發(fā)送一個請并將參數(shù)直接傳遞給后臺,后臺對前端請求做出反應(yīng),接收數(shù)據(jù),將數(shù)據(jù)作為條件查詢,但會j’son字符串格式的查詢結(jié)果集給前端,前端接收到后臺返回的數(shù)據(jù)進行條件判斷并作出相應(yīng)的頁面展示。

$.ajax({
			    url: 'http://127.0.0.1:5000/updatePass',
				type: "POST",
				data:JSON.stringify(data.field),
				contentType: "application/json; charset=utf-8",
				dataType: "json",
				success: function(res) {
					if (res.code == 200) {
                        layer.msg(res.msg, {icon: 1});
                    } else {
                        layer.msg(res.msg, {icon: 2});
				    }
				}
			})

6 Echarts

ECharts(Enterprise Charts)是百度開源的數(shù)據(jù)可視化工具,底層依賴輕量級Canvas庫ZRender。兼容了幾乎全部常用瀏覽器的特點,使它可廣泛用于PC客戶端和手機客戶端。ECharts能輔助開發(fā)者整合用戶數(shù)據(jù),創(chuàng)新性的完成個性化設(shè)置可視化圖表。支持折線圖(區(qū)域圖)、柱狀圖(條狀圖)、散點圖(氣泡圖)、K線圖、餅圖(環(huán)形圖)等,通過導(dǎo)入 js 庫在 Java Web 項目上運行。

7 最后

項目分享:

https://gitee.com/assistant-a/project-sharing

到了這里,關(guān)于大數(shù)據(jù)畢設(shè)分享(含算法) 大數(shù)據(jù)電影數(shù)據(jù)分析與可視化系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 畢設(shè)開源 大數(shù)據(jù)電影數(shù)據(jù)分析與可視化系統(tǒng)

    畢設(shè)開源 大數(shù)據(jù)電影數(shù)據(jù)分析與可視化系統(tǒng)

    今天學(xué)長向大家介紹一個機器視覺的畢設(shè)項目 ??基于大數(shù)據(jù)的電影數(shù)據(jù)分析與可視化系統(tǒng) 項目運行效果(視頻): 畢業(yè)設(shè)計 大數(shù)據(jù)電影評論情感分析 項目獲取: https://gitee.com/assistant-a/project-sharing 研究中國用戶電影數(shù)據(jù),有助于窺探中國電影市場發(fā)展背后的規(guī)律,理解其來龍去

    2024年03月18日
    瀏覽(23)
  • 大數(shù)據(jù)畢設(shè)項目 大數(shù)據(jù)電影數(shù)據(jù)分析與可視化系統(tǒng) - python Django

    大數(shù)據(jù)畢設(shè)項目 大數(shù)據(jù)電影數(shù)據(jù)分析與可視化系統(tǒng) - python Django

    ?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學(xué)弟學(xué)妹告訴學(xué)長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設(shè),學(xué)長分享優(yōu)質(zhì)畢業(yè)設(shè)計項目,今天

    2024年02月06日
    瀏覽(31)
  • python畢設(shè) 大數(shù)據(jù)房價數(shù)據(jù)分析及可視化(源碼分享)

    python畢設(shè) 大數(shù)據(jù)房價數(shù)據(jù)分析及可視化(源碼分享)

    今天分享一個大數(shù)據(jù)畢設(shè)項目:畢設(shè)分享 大數(shù)據(jù)房價數(shù)據(jù)分析及可視化(源碼分享) 項目獲?。?https://gitee.com/sinonfin/algorithm-sharing 實現(xiàn)效果 畢業(yè)設(shè)計 房價大數(shù)據(jù)可視化分析 房地產(chǎn)是促進我國經(jīng)濟持續(xù)增長的基礎(chǔ)性、主導(dǎo)性產(chǎn)業(yè)。如何了解一個城市的房價的區(qū)域分布,或者不

    2024年02月02日
    瀏覽(34)
  • 大數(shù)據(jù)畢設(shè)分享 B站大數(shù)據(jù)分析可視化(源碼+論文)

    大數(shù)據(jù)畢設(shè)分享 B站大數(shù)據(jù)分析可視化(源碼+論文)

    # 0 簡介 今天學(xué)長向大家介紹一個機器視覺的畢設(shè)項目 畢設(shè)分享 B站大數(shù)據(jù)分析可視化(源碼+論文) 項目獲?。?https://gitee.com/sinonfin/algorithm-sharing 可視化任務(wù)選擇 目前視頻行業(yè)可以分為愛優(yōu)騰為代表的長視頻賽道,快手抖音為代表的短視頻賽道,以及B站,B站的視頻內(nèi)容十分的

    2024年01月22日
    瀏覽(19)
  • 大數(shù)據(jù)畢設(shè)分享 大數(shù)據(jù)二手房數(shù)據(jù)爬取與分析可視化 -python 數(shù)據(jù)分析 可視化

    大數(shù)據(jù)畢設(shè)分享 大數(shù)據(jù)二手房數(shù)據(jù)爬取與分析可視化 -python 數(shù)據(jù)分析 可視化

    # 1 前言 ?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學(xué)弟學(xué)妹告訴學(xué)長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設(shè),學(xué)長分享優(yōu)質(zhì)畢業(yè)設(shè)計項

    2024年01月23日
    瀏覽(34)
  • 大數(shù)據(jù)畢設(shè)分享 flink大數(shù)據(jù)淘寶用戶行為數(shù)據(jù)實時分析與可視化

    大數(shù)據(jù)畢設(shè)分享 flink大數(shù)據(jù)淘寶用戶行為數(shù)據(jù)實時分析與可視化

    ?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學(xué)弟學(xué)妹告訴學(xué)長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設(shè),學(xué)長分享優(yōu)質(zhì)畢業(yè)設(shè)計項目,今天

    2024年01月21日
    瀏覽(51)
  • 大數(shù)據(jù)畢設(shè)分享 大數(shù)據(jù)招聘崗位數(shù)據(jù)分析與可視化 - 爬蟲 python 大屏可視化

    大數(shù)據(jù)畢設(shè)分享 大數(shù)據(jù)招聘崗位數(shù)據(jù)分析與可視化 - 爬蟲 python 大屏可視化

    # 1 前言 ?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學(xué)弟學(xué)妹告訴學(xué)長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設(shè),學(xué)長分享優(yōu)質(zhì)畢業(yè)設(shè)計項

    2024年02月04日
    瀏覽(28)
  • 大數(shù)據(jù)畢設(shè)分享 招聘網(wǎng)站爬取與大數(shù)據(jù)分析可視化 - python 分析 可視化 flask

    大數(shù)據(jù)畢設(shè)分享 招聘網(wǎng)站爬取與大數(shù)據(jù)分析可視化 - python 分析 可視化 flask

    ?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學(xué)弟學(xué)妹告訴學(xué)長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設(shè),學(xué)長分享優(yōu)質(zhì)畢業(yè)設(shè)計項目,今天

    2024年02月19日
    瀏覽(29)
  • 大數(shù)據(jù)畢設(shè)分享 基于大數(shù)據(jù)的抖音短視頻數(shù)據(jù)分析與可視化 - python 大數(shù)據(jù) 可視化

    大數(shù)據(jù)畢設(shè)分享 基于大數(shù)據(jù)的抖音短視頻數(shù)據(jù)分析與可視化 - python 大數(shù)據(jù) 可視化

    ?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學(xué)弟學(xué)妹告訴學(xué)長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設(shè),學(xué)長分享優(yōu)質(zhì)畢業(yè)設(shè)計項目,今天

    2024年01月17日
    瀏覽(40)
  • 智能科學(xué)畢設(shè)分享(算法) 基于大數(shù)據(jù)的b站數(shù)據(jù)分析

    智能科學(xué)畢設(shè)分享(算法) 基于大數(shù)據(jù)的b站數(shù)據(jù)分析

    今天向大家介紹如何使用大數(shù)據(jù)技術(shù),對B站的視頻數(shù)據(jù)進行分析,得到可視化結(jié)果。 項目運行效果: 畢業(yè)設(shè)計 基于大數(shù)據(jù)的b站數(shù)據(jù)分析 項目獲?。?https://gitee.com/assistant-a/project-sharing 分析方向:首先從總體情況進行分析,之后分析綜合排名top100的視頻類別。 總體情況部分

    2024年02月22日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包