1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tiểu luận môn học kỹ thuật lập trình trong phân tích dữ liệu phân tích dữ liệu của trang vietnamnet

39 41 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phân Tích Dữ Liệu Của Trang Vietnamnet
Tác giả Trần Quay Tín, Nguyễn Hoàng Hiệp
Người hướng dẫn ThS. Hồ Ngọc Trung Kiên
Trường học Trường Đại Học Thủ Dầu Một
Chuyên ngành Kỹ Thuật Lập Trình Trong Phân Tích Dữ Liệu
Thể loại Tiểu luận môn học
Năm xuất bản 2021
Thành phố Bình Dương
Định dạng
Số trang 39
Dung lượng 2,03 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nó cung cấp các hàm tính toán khoa học, bao gồmcác phép tính toán trên ma trận, đại số tuyến tính, thống kê và phép biến đổi Fourier.NumPy được sử dụng rộng rãi trong các ứng dụng khoa h

Trang 1

TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT VIỆN KỸ THUẬT CÔNG NGHỆ

TIỂU LUẬN MÔN HỌC

KỸ THUẬT LẬP TRÌNH TRONG PHÂN TÍCH

DỮ LIỆU

PHÂN TÍCH DỮ LIỆU CỦA TRANG

VIETNAMNET

GV: ThS Hồ Ngọc Trung Kiên SVTH: Trần Quay Tín MSSV: 2024802010221

Nguyễn Hoàng Hiệp MSSV: 2024802010235

BÌNH DƯƠNG - 04/2021

Trang 2

TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT VIỆN KỸ THUẬT CÔNG NGHỆ

TIỂU LUẬN MÔN HỌC

KỸ THUẬT LẬP TRÌNH TRONG PHÂN TÍCH

DỮ LIỆU

PHÂN TÍCH DỮ LIỆU CỦA TRANG

VIETNAMNET

GV: ThS Hồ Ngọc Trung Kiên SVTH: Trần Quay Tín MSSV: 2024802010221

Nguyễn Hoàng Hiệp MSSV: 2024802010235

BÌNH DƯƠNG - 04/2021

Trang 3

MỤC LỤC

MỤC LỤC ii

DANH MỤC HÌNH iii

MỞ ĐẦU 1

CHƯƠNG 1 PKHẢO SÁT VÀ PHÂN TÍCH BÀI TOÁN 2

1.1 Phát biểu bài toán 2

1.2 Phân tích các chức năng 2

CHƯƠNG 2 THIẾT KẾ GIAO DIỆN 3

2.1 3

CHƯƠNG 3 THIẾT KẾ CHƯƠNG TRÌNH 4

3.1 4

KẾT LUẬN 5

TÀI LIỆU THAM KHẢO 6

Trang 4

DANH MỤC HÌNHHình 2.1: Giao diện Trang Chủ 3

Trang 5

DANH MỤC BẢNG

Trang 6

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sự hướngdẫn khoa học của ThS Hồ Ngọc Trung Kiên Các nội dung nghiên cứu, kết quả trong

đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây

Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giáđược chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu thamkhảo

Ngoài ra, trong báo cáo còn sử dụng một số nhận xét, đánh giá cũng như số liệucủa các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn gốc.Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm về nộidung báo cáo của mình Trường Đại học Thủ Dầu Một không liên quan đến những viphạm tác quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nếu có)

Trang 7

CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI1.1 Lý do chọn đề tài

CHƯƠNG 2 Website vietnamnet là một trong những trang web lớn và phổ biến nhấttại Việt Nam, với nhiều thông tin đa dạng, phong phú về nhiều lĩnh vực khác nhaunhư: chính trị, xã hội, văn hoá, thể thao, công nghệ, giải trí, và các thông tin được cậpnhật liên tục Chính vì thế, đây là một trang web cung cấp cho chúng em một nguồn dữliệu vô cùng lớn và đa dạng để có thể tiến hành phân tích dữ liệu

CHƯƠNG 3 Phân tích dữ liệu của trang có thể giúp chúng em hiểu rõ hơn về các xuhướng, thị trường, tin tức và các vấn đề xã hội đang được quan tâm tại Việt Nam Đâyđồng thời cũng là cơ hội cho chúng em được thực hành, trải nghiệm thực tế về việcphân tích dữ liệu, giúp củng cố những kiến thức mà chúng em đã học trong thời gianqua

3.1 Mục tiêu nghiên cứu

CHƯƠNG 4 Sử dụng các công cụ và thư viện của Python để tiến hành thu thập các dữliệu từ website như: Tiêu đề, thể loại, mô tả, nội dung

CHƯƠNG 5 Xử lý phân tích dữ liệu vửa thu thập được:

 Xoá tab HTML và xoá số

 Chuyển văn bản thành chữ thường

 Chuẩn hoá văn bản (Cách gõ dấu trong tiếng Việt)

 Xoá Stopword

 Chuyển dữ liệu sang dạng ngữ nghĩa

 Chuyển dữ liệu sang dạng Vector

 Tìm kiếm và so khớp văn bản

5.1 Đối tượng nghiên cứu

CHƯƠNG 6 Nghiên cứu có thể tập trung vào các chủ đề phổ biến nhất trên website,các từ khóa được sử dụng nhiều, các bài viết, các bài đăng (ví dụ: tin mới nhất, thểthao, kinh doanh, đời sống…)

6.1 Phạm vi nghiên cứu

CHƯƠNG 7 Phân tích dữ liệu được thu thập từ trang web Vietnamnet

Trang 8

CHƯƠNG 9 Phân tích dữ liệu trên 1000 tin tức được lấy từ trang web.

CHƯƠNG 10 Việc phân tích dữ liệu được thực thi bằng cách: thu thập dữ liệu, xử lý

dữ liệu và so khớp dữ liệu

Trang 9

CHƯƠNG 11

Trang 10

Chương 2 Cơ sở lý thuyết

CHƯƠNG 12 CƠ SỞ LÝ THUYẾT12.1 Giới thiệu công cụ Google Colab.

CHƯƠNG 13 Google Colaboratory (hay Google Colab) là một nền tảng đám mâymiễn phí được cung cấp bởi Google cho phép người dùng tạo và chạy các tệpnotebook Jupyter để phát triển và thực thi mã Python Nó cho phép người dùng sửdụng các tài nguyên tính toán như CPU, GPU và bộ nhớ trong đám mây của Google

mà không cần phải cài đặt và cấu hình môi trường phát triển trên máy tính của mình

Nó cung cấp cho người dùng một nền tảng thuận tiện và dễ dàng sử dụng để phát triển

và chia sẻ các dự án Python của mình

Hình 13.1.1.1: Công cụ Google Colab 13.2 Giới thiệu các thư viện của python

13.2.1 Thư viện Numpy

CHƯƠNG 14 NumPy là một thư viện Python mã nguồn mở được sử dụng để làm việcvới mảng nhiều chiều và ma trận Nó cung cấp các hàm tính toán khoa học, bao gồmcác phép tính toán trên ma trận, đại số tuyến tính, thống kê và phép biến đổi Fourier.NumPy được sử dụng rộng rãi trong các ứng dụng khoa học dữ liệu và tính toán sốnhư phân tích dữ liệu, xử lý ảnh và âm thanh, và học máy

CHƯƠNG 15 Các ưu điểm của NumPy bao gồm hiệu suất tính toán cao, hỗ trợ nhiềuphép tính toán trên ma trận và các hàm tính toán khoa học, và tính tương thích với cácthư viện và công cụ phát triển khác như SciPy, Pandas và Matplotlib NumPy là mộttrong những thư viện quan trọng nhất trong cộng đồng khoa học dữ liệu và tính toán sốcủa Python

15.1.1 Thư viện pandas

Trang 11

Chương 2 Cơ sở lý thuyết

CHƯƠNG 16 Pandas là một thư viện phổ biến cho ngôn ngữ lập trình Python, được sửdụng rộng rãi trong việc xử lý và phân tích dữ liệu Pandas cung cấp các công cụ đểlàm việc với các tập dữ liệu có cấu trúc, bao gồm các hàm để đọc và ghi các tệp dữliệu từ các định dạng phổ biến như CSV, Excel và SQL, và các hàm để chọn, sắp xếp,

và tập hợp các dữ liệu

CHƯƠNG 17 Pandas cũng cung cấp các công cụ để thực hiện các phép tính toán vàphân tích thống kê trên dữ liệu, bao gồm các hàm tính toán tổng hợp, phân tích phântích biến thể, và hồi quy tuyến tính Nó cũng hỗ trợ việc tạo các biểu đồ và đồ thị đểtrực quan hóa dữ liệu

CHƯƠNG 18 Pandas là một trong những thư viện quan trọng nhất trong lĩnh vựcphân tích dữ liệu và khoa học dữ liệu của Python Nó được sử dụng rộng rãi trong cácứng dụng phân tích dữ liệu, kinh doanh và tài chính để xử lý và phân tích dữ liệu

18.1.1 Thư viện Requests

CHƯƠNG 19 Thư viện Requests là một thư viện Python được sử dụng để tạo và quản

lý các yêu cầu HTTP Đây là một trong những thư viện quan trọng nhất trong lĩnh vựclập trình web của Python

CHƯƠNG 20 Requests được sử dụng để tương tác với các API và lấy dữ liệu từ cáctrang web khác Nó cung cấp một API đơn giản để gửi các yêu cầu HTTP và lấy cácphản hồi tương ứng Requests hỗ trợ các phương thức HTTP như GET, POST, PUT,DELETE, HEAD, OPTIONS và PATCH Nó cũng hỗ trợ các phương thức xác thựcnhư Basic, Digest và OAuth

CHƯƠNG 21 Requests cung cấp các tính năng như gửi các yêu cầu có đính kèm dữliệu, xử lý các truy vấn tham số và quản lý các tiêu đề yêu cầu Điều này giúp cho việcthực hiện các yêu cầu HTTP trở nên dễ dàng và thuận tiện hơn

21.1.1 Thư viện BeautifulSoup

CHƯƠNG 22 BeautifulSoup là một thư viện Python được sử dụng để phân tích cúpháp HTML và XML Thư viện này cho phép bạn trích xuất dữ liệu từ các trang web

và tài liệu XML theo cách dễ dàng và thuận tiện

CHƯƠNG 23 BeautifulSoup cung cấp các phương thức để tìm kiếm và truy xuất cácphần tử HTML và XML dựa trên các thuộc tính của chúng Nó cũng cho phép bạn tìmkiếm và trích xuất các thông tin từ các thẻ HTML và XML, như các văn bản, đườngdẫn, hình ảnh, danh sách, bảng và các phần tử khác

Trang 12

Chương 2 Cơ sở lý thuyết

CHƯƠNG 24 Với BeautifulSoup, chúng ta có thể trích xuất dữ liệu từ các trang web

và tài liệu XML một cách dễ dàng và hiệu quả hơn Thư viện này được sử dụng rộngrãi trong lĩnh vực web scraping và phân tích dữ liệu, giúp cho việc tự động trích xuấtthông tin từ các trang web và tài liệu XML trở nên dễ dàng và thuận tiện hơn

24.1.1 Thư viện regular expression

CHƯƠNG 25 Thư viện regular expression (re) là một thư viện Python được sử dụng để

xử lý các biểu thức chính quy (regular expressions) Biểu thức chính quy là một chuỗi

ký tự đặc biệt được sử dụng để mô tả một mẫu tìm kiếm

CHƯƠNG 26 Thư viện re cung cấp các phương thức để tìm kiếm, thay thế và chiatách chuỗi dựa trên các biểu thức chính quy Nó cho phép bạn xử lý và trích xuất dữliệu từ các chuỗi một cách nhanh chóng và dễ dàng

CHƯƠNG 27 Với thư viện re, ta có thể:

- Tìm kiếm chuỗi trong một văn bản

- Tách chuỗi thành các thành phần khác nhau dựa trên các định dạng khácnhau

- Thay thế các chuỗi bằng các chuỗi khác dựa trên các mẫu tìm kiếm

- Kiểm tra xem một chuỗi có khớp với một biểu thức chính quy hay không.CHƯƠNG 28 Thư viện re được sử dụng rộng rãi trong các ứng dụng web và phân tích

dữ liệu, giúp cho việc xử lý các chuỗi dữ liệu trở nên dễ dàng và thuận tiện hơn

28.1.1 Thư viện Regex

CHƯƠNG 29 Thư viện regex là một thư viện Python cung cấp các công cụ để xử lýcác biểu thức chính quy (regular expressions) một cách hiệu quả và nhanh chóng Thưviện này là một phần mở rộng của thư viện re cơ bản của Python, nhưng có các tínhnăng bổ sung và cải tiến để hỗ trợ cho các biểu thức chính quy phức tạp và các dạng

dữ liệu khác nhau

CHƯƠNG 30 Regex hỗ trợ cho việc so khớp các biểu thức chính quy phức tạp, baogồm các biểu thức chính quy có thể dùng để tìm kiếm và trích xuất thông tin từ cácchuỗi dữ liệu phức tạp như các địa chỉ email, địa chỉ IP, số điện thoại, địa chỉ URL,v.v Thư viện regex cũng hỗ trợ cho các biểu thức chính quy Unicode và các ký tự đabyte, giúp cho việc xử lý các dữ liệu phi-ASCII dễ dàng hơn

CHƯƠNG 31 Các tính năng khác của regex bao gồm các phương thức để thực hiệncác tác vụ như: tìm kiếm, thay thế, tách chuỗi và so sánh các chuỗi dựa trên các biểu

Trang 13

Chương 2 Cơ sở lý thuyết

thức chính quy khác nhau Regex cũng hỗ trợ cho các biểu thức chính quy động, chophép bạn xây dựng các biểu thức chính quy dựa trên các biến và các điều kiện khácnhau

CHƯƠNG 32 Regex là một thư viện quan trọng và được sử dụng rộng rãi trong cácứng dụng web, phân tích dữ liệu và xử lý ngôn ngữ tự nhiên

32.1.1 Thư viện Underthesea

CHƯƠNG 33 Thư viện underthesea là một thư viện xử lý ngôn ngữ tự nhiên chotiếng Việt được viết bằng Python Thư viện này cung cấp các chức năng cho việc phântích cú pháp (parsing), phân loại từ loại (part-of-speech tagging), tách từ (wordsegmentation), gắn thẻ ngữ nghĩa (named entity recognition), phân tích cảm xúc(sentiment analysis), và nhiều chức năng khác để xử lý văn bản tiếng Việt

33.1.1 TfidfVectorizer class

CHƯƠNG 34 TfidfVectorizer là một class trong thư viện Scikit-learn của Pythonđược sử dụng để chuyển đổi một tập hợp các văn bản thô thành một ma trận các đặctrưng TF-IDF

CHƯƠNG 35 TF-IDF là viết tắt của thuật ngữ term frequency-inverse documentfrequency, nó được sử dụng để đánh giá độ quan trọng của một từ trong một tài liệu.TF-IDF tính toán trọng số của mỗi từ trong một tài liệu bằng cách nhân tần suất xuấthiện của từ đó (term frequency) với đảo ngược tần suất xuất hiện của từ đó trong tất cảcác tài liệu (inverse document frequency)

CHƯƠNG 36 TfidfVectorizer sẽ trích xuất các từ trong các văn bản và tính toán matrận các đặc trưng TF-IDF tương ứng với các từ đó Ma trận đặc trưng này có thể được

sử dụng để huấn luyện các mô hình học máy hoặc thực hiện các tác vụ khác như phânloại văn bản, phân cụm văn bản, và tìm kiếm thông tin

CHƯƠNG 37

Trang 14

Chương 3 Mô hình bài toán

CHƯƠNG 38 MÔ HÌNH BÀI TOÁN38.1 Mô hình bài toán

Hình 38.1.1.1: Mô hình bài toán 38.2 Giải thích các bước

CHƯƠNG 39 Thu thập dữ liệu: Crawl 1000 tin tức từ trang web Vietnamnet.vn vềbằng thư viện requests với các nội dung: Tiêu đề, Thể loại, Mô tả, Nội dung

CHƯƠNG 40 Xuất File Excel: lưu các dữ liệu vừa thu thập được thành một file excelbằng thư viện padas với các trường: Tiêu đề, Thể loại, Mô tả, Nội dung

CHƯƠNG 41 Xoá tab HTML, xoá số: tiến hành xử lý dữ liệu, xoá các tab HTML vàcác số trong dữ liệu bằng cách sử dụng thư viện re

CHƯƠNG 42 Chuyển văn bản thành chữ thường: sử dụng hàm lower để chuyển dữliệu về dạng chữ thường

CHƯƠNG 43 Chuẩn hoá kiểu gõ dấu tiếng Việt: Chuẩn hoá bảng mã sau đó chuẩnhoá kiểu gõ về kiểu gõ cũ Ví dụ: Hoà – Hòa

CHƯƠNG 44 Xoá Stopword: tiến hành xoá các từ dừng như: “thế”, “thì”, “là”, CHƯƠNG 45 Chuyển văn bản sang dạng ngữ nghĩa: sử dụng thư viện underthesea đểtách văn bản thành dạng ngữ nghĩa

CHƯƠNG 46 Chuyển văn bản sang dạng vector: sử dụng class TfidfVectorizer củathư viện Scikit-learn để chuyển dữ liệu thành dạng vector

Trang 15

Chương 3 Mô hình bài toán

CHƯƠNG 47 Tìm kiếm và so khớp: sử dụng thuật toán tìm kiếm mẫu trong mộtchuỗi văn bản dựa vào thuật toán Knuth-Morris-Pratt Tìm kiếm và đưa ra tên bài cónội dung khớp

Trang 16

Chương 3 Mô hình bài toán

CHƯƠNG 48 THỰC NGHIỆM 48.1 Các bước trong mô hình

48.1.1 Code thêm thư viện

CHƯƠNG 49 import numpy as np

CHƯƠNG 50 import requests as rq

CHƯƠNG 51 from bs4 import BeautifulSoup as bs

CHƯƠNG 52 import pandas as pd

CHƯƠNG 53 import re

CHƯƠNG 54 import regex as re

CHƯƠNG 55 import os

CHƯƠNG 56 import sys

CHƯƠNG 57 # from Logger import LogEventSourcing

CHƯƠNG 58 from datetime import datetime

CHƯƠNG 59 import dateutil.parser

CHƯƠNG 60 import traceback

CHƯƠNG 61 import time

CHƯƠNG 62 import requests

CHƯƠNG 63 Giải thích: Đoạn mã trên đầu tiên import các thư viện và modules cầnthiết cho chương trình:

numpy để xử lý mảng nhiều chiều.

requests để tạo và gửi HTTP requests đến các URL.

BeautifulSoup từ thư viện bs4 để phân tích cú pháp của HTML và XML.

pandas để làm việc với dữ liệu dưới dạng bảng.

re và regex để sử dụng biểu thức chính quy.

os và sys để tương tác với hệ điều hành và các thông tin hệ thống.

datetime để xử lý các giá trị ngày tháng.

traceback để hiển thị các lỗi và thông tin debug.

time để đo thời gian thực thi của chương trình.

Trang 17

Chương 3 Mô hình bài toán

CHƯƠNG 64

64.1.1 Code lấy thông tin trang web

CHƯƠNG 65 page = 1

CHƯƠNG 66 i = 0

CHƯƠNG 67 #Requests trang web

CHƯƠNG 68 r = rq.get("https://vietnamnet.vn/tin-tuc-24h")

CHƯƠNG 69 #print(r.content)

CHƯƠNG 70

CHƯƠNG 71 #Chuẩn hoá định dạng HTML

CHƯƠNG 72 soup = bs(r.content,"html.parser")

CHƯƠNG 73 #print(soup)

CHƯƠNG 74

CHƯƠNG 75 #Lấy title bảng tin mới

CHƯƠNG 76 titles = soup.find_all('h2',class_="feature-box content title vnn-title")CHƯƠNG 77

CHƯƠNG 78 while (len(titles)<100):

CHƯƠNG 79 rr = rq.get("https://vietnamnet.vn/tin-tuc-24h" + "-p" + str(page))CHƯƠNG 80 soup = bs(rr.content,"html.parser")

CHƯƠNG 81 titless = titles + soup.find_all('h2',class_="feature-box content title vnn-title")

CHƯƠNG 82 titles += titless

Trang 18

Chương 3 Mô hình bài toán

CHƯƠNG 90 for link in links:

CHƯƠNG 91 i = i + 1

CHƯƠNG 92 news = rq.get(link)

CHƯƠNG 93 soup = bs(news.content,"html.parser")

CHƯƠNG 94 try:

CHƯƠNG 95 tieude = soup.find("h2",class_="vnn-title").text.strip()CHƯƠNG 96 mota = soup.find("div",class_="newFeature main-textBold").text.strip()

CHƯƠNG 97 theloai = soup.find("a",class_="leading-30").text.strip()CHƯƠNG 98 noidung = soup.find("div",class_="maincontent ").textCHƯƠNG 99 noidung = " ".join(noidung.split())

CHƯƠNG 107 print("Tiêu đề:",tieude)

CHƯƠNG 108 print("Mô tả:",mota)

CHƯƠNG 109 print("Thể loại:",theloai)

CHƯƠNG 110 print("Nội dung:",noidung)

CHƯƠNG 111 print("Bản tin:", str(i))

CHƯƠNG 112

CHƯƠNG 113 # Tạo một dataframe

CHƯƠNG 114 data = {'Tiêu đề': tieudes,

CHƯƠNG 115 'Mô tả': motas,

CHƯƠNG 116 'Thể loại': theloais,

Trang 19

Chương 3 Mô hình bài toán

CHƯƠNG 117 'Nội dung': noidungs,

CHƯƠNG 118 }

CHƯƠNG 119 df = pd.DataFrame(data)

CHƯƠNG 120 # Lưu dataframe thành một file excel

CHƯƠNG 121 df.to_excel(' /content/drive/MyDrive/File Excel/VietNamNet1.xlsx', index=False)

CHƯƠNG 122

CHƯƠNG 123 Giải thích: đoạn mã trên sử dụng thư viện requests và BeautifulSoup

để thực hiện các thao tác sau:

 Truy cập vào trang web https://vietnamnet.vn/tin-tuc-24h để lấy thông tin

 Dùng link của mỗi bài báo để truy cập vào trang bài báo và lấy thông tin

về tiêu đề, mô tả, thể loại và nội dung bài báo

 Lưu thông tin về các bài báo vào một dataframe và lưu dataframe đó thànhmột file excel

123.1.1 Code load dữ liệu và xóa số

CHƯƠNG 124 # load dữ liệu từ excel

CHƯƠNG 125 data = pd.read_excel(' /content/drive/MyDrive/File Excel/

VietNamNet1.xlsx')

CHƯƠNG 126 data.head(1000)

CHƯƠNG 127 # Xóa Số

CHƯƠNG 128 data['Tiêu đề'] = data['Tiêu đề'].str.replace('\d','', regex = True)

CHƯƠNG 129 data['Mô tả'] = data['Mô tả'].str.replace('\d','', regex = True)

CHƯƠNG 130 data['Nội dung'] = data['Nội dung'].str.replace('\d', '', regex = True)CHƯƠNG 131 data.head(1000)

Ngày đăng: 24/05/2023, 05:34

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w