1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng website tin tức và module lấy tin bài tự động luận văn tốt nghiệp đại học

45 295 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

Định dạng
Số trang 45
Dung lượng 3,67 MB

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

Nội dung

Cách thứ 2 là xây dựng một đội ngũ chuyên đitổng hợp bài từ các trang tin khác trên mạng internet về trang báo mình, cáchnày tuy không tốn kém và phức tạp như cách thứ nhất tuy nhiên cũn

Trang 1

Trờng đại học vinh Khoa công nghệ thông tin

Giảng viên hớng dẫn: TS Nguyễn trung hòa

Sinh viên thực hiện : TRịNH VĂN nGọC Lớp : 47K - CNTT

Trang 2

LỜI NÓI ĐẦU

Chúng ta ai cũng có nhu cầu tìm hiểu thông tin Có rất nhiều cách để tìmhiểu thông tin, trong đó đọc báo là một cách để thu thập thông tin hiệu quả vànhanh chóng nhất Ngày này với sự phát triển của internet thì việc đọc báo rấttiện lợi và thông tin cập nhập rất nhanh chóng Việc xây dựng một Website tintức không ngoài việc tạo nên một tiện ích cho người đọc báo mà có thể giúp họtiết kiệm thời gian

Tuy nhiên để có được nguồn thông tin thường xuyên cập nhật cho trangtin tức không phải là dễ dàng Có 3 cách thức để duy trì nguồn tin mới trên trangtin của mình Một là xây dựng một đội ngũ chuyên viết bài cho trang tin, cáchnày rất tốn kém và rất phức tạp Cách thứ 2 là xây dựng một đội ngũ chuyên đitổng hợp bài từ các trang tin khác trên mạng internet về trang báo mình, cáchnày tuy không tốn kém và phức tạp như cách thứ nhất tuy nhiên cũng cần cónhân lực và tiền bạc Cách thức thứ 3 là cách mà không cần tới nhân lực và cũngtiêu tốn ít tiền bạc hơn đó là thiết kế một chương trình tổng hợp các tin bài từ cácnguồn trên internet về trang tin của mình để duy trì ngồn tin mới cho trang tincủa mình

Chính từ suy nghĩ này tôi đã mạnh dạn chọn đề tài “Xây dựng trang tin tức

và module lấy tin bài tự động” làm đồ án tốt nghiệp của mình

Đồ án này bao gồm 3 chương:

Chương 1: Tổng quan về đề tài

Nội dung chương này nêu lên lý do, mục đích, yêu cầu, cách tiếp

Trang 3

Nội dung của chương tìm hiểu lịch sử hình thành phát triển, sơ lược

về ngôn ngữ PYTHON và framework WEB2PY, cách sử dụngngôn ngữ PYTHON, SQLite trên framework WEB2PY

Chương 3: Thiết kế, cài đặt và giới thiệu sản phẩm

Nội dung của chương viết về thiết kế và cách cài đặt ứng dụng của

đồ án

Trong quá trình học tập và tìm hiểu để thực hiện đồ án tôi đã nhận được sự

hỗ trợ và động viên của các bạn, sự quan tâm giúp đỡ của các thầy cô giáo trong

khoa và đặc biệt là thầy giáo hướng dẫn – TS Nguyễn Trung Hòa Tôi trân

trọng cảm ơn những sự giúp đỡ quý báu đó

Trong quá trình thực hiện, do trình độ và thời gian có hạn, việc lấy thôngtin chính xác còn nhiều hạn chế, do đó khoá luận không thể tránh khỏi những saisót Vì vậy, tôi rất mong nhận được sự quan tâm giúp đỡ, trao đổi, động viên của

các thầy cô để đồ án “Xây dựng trang tin tức và module lấy tin bài tự đông”

ngày một hoàn thiện

Xin trân trọng cảm ơn!

Sinh viên thực hiện:

Hồ Hải Long

Trang 4

LỜI NÓI ĐẦU 1

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 6

1.1 Lý do chọn đề tài 6

1.2 Mục đích, yêu cầu 7

1.3 Cách tiếp cận đề tài 7

1.4 Phạm vi ứng dụng 8

1.5 Công cụ sử dụng 8

1.6 Bài toán thực tế 8

1.6.1 Đặt vấn đề 8

1.6.2 Bài toán 9

1.6.3 Hướng giải quyết của bài toán 10

1.7 Phân tích 10

1.7.1 Các yêu cầu đối với module lấy tin bài tự động 10

1.7.2 Các yêu cầu hoạt động trên trang web 11

1.7.3 Sơ đồ phân cấp chức năng 12

1.7.4 Sơ đồ luồng dữ liệu 13

1.7.5 Mô hình thực thể và các thuộc tính 16

CHƯƠNG 2: TÌM HIỂU VỀ NGÔN NGỮ PYTHON VÀ FRAMEWORK WEB2PY 24

2.1 Tìm hiểu về ngôn ngữ PYTHON 24

2.1.1 Khái niệm PYTHON 24

2.1.2 Lịch sử phát triển: 25

2.1.3 Các phiên bản nổi tiếng của PYTHON 26

2.1.4 Sơ lược về PYTHON: 27

2.1.4.1 Từ khóa: 27

2.1.4.2 Khối lệnh: 27

2.1.4.3 Trình thông dịch: 28

2.1.4.4 Lệnh và cấu trúc điều khiển: 29

2.1.4.5 Hệ thống kiểu dữ liệu: 29

2.1.4.6 Module : 30

2.1.4.7 Một số tính chất khác: 30

2.2 Web2py framework 32

2.1.1 Giới thiệu về web2py: 32

2.1.2 Đặc điểm của web2py 32

2.1.3 Mô hình MVC: 33

2.1.4 Cơ sở dữ liệu trong web2py: 35

2.1.4.1 Khai báo cơ sở dữ liệu: 35

2.1.4.2 Các kiểu dữ liệu: 36

Trang 5

3.1.5 Tìm kiếm 41

3.1.6 Trang lấy tin tức 42

3.1.7 Quản lý danh mục báo chí 43

3.1.8 Quản lý danh sách báo chí 43

3.1.9 Quản lý tin tức 44

3.2 Cài đặt 45

KẾT LUẬN 47

TÀI LIỆU THAM KHẢO 48

Trang 6

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI

1.1 Lý do chọn đề tài

Với sự phát triển nhảy vọt của công nghệ thông tin hiện nay,Internet ngày càng giữ vai trò quan trọng trong các lĩnh vực khoa học kĩthuật và đời sống Dĩ nhiên các bạn đã được nghe nói nhiều về Internet,nói một cách đơn giản, Internet là một tập hợp máy tính nối kết với nhau,

là một mạng máy tính toàn cầu mà bất kì ai cũng có thể kết nối bằng máy

PC của họ

Với mạng Internet, tin học thật sự tạo nên một cuộc cách mạng traođổi thông tin trong mọi lĩnh vực văn hóa, xã hội, chính trị, kinh tế Vớicông nghệ Word Wide Web, hay còn gọi là Web sẽ giúp bạn đưa nhữngthông tin mong muốn của mình lên mạng Internet Hay bạn có thể đọcbáo, tìm hiểu thông tin tại nhà mình mà không phải mất nhiều thời gian đimua báo nữa

Trang 7

ra ở phần mở đầu thì chúng ta cần một chương trình tổng hợp bài viết từcác tờ báo lớn trên mạng về trang tin của mình để giải quyết vấn đề này.

1.2 Mục đích, yêu cầu

Nghiên cứu về cách thức xây dựng web với ngôn ngữ chính là

SQL và hệ quản trị cơ sở dữ liệu SQLite để xây dựng website tin tức vàmột module hỗ trợ việc tổng hợp tin tức từ các ngồn tin trên mạnginternet Và sau cùng là chạy thử nghiệp trang tin tức trên mạng để phục

vụ bạn đọc

1.3 Cách tiếp cận đề tài

Sự ra đời của Internet, sự phát triển của công nghệ mạng, công nghệphần mềm đã và đang làm thay đổi cách thức tiếp cận và xử lý thông tin.Hiện nay Internet đã trở thành một dịch vụ phổ thông, thậm chí thiết yếu ở

đa số tổ chức, cá nhân Các hoạt động thương mại, kinh doanh, quản lýnhà nước, điều hành công việc đã và đang hoà nhập và môi trườngInternet Chính vì thế ngày nay hầu như tất cả các tòa báo đã có trang tintức điện tử cho mình để phục vụ cho bạn đọc trên mạng internet

Nhu cầu tìm hiểu thông tin, đọc báo cũng ngày càng đa dạng Việcxây dựng một Website tin tức phục vụ nhu cầu trên cũng không ngoài việctạo nên một tiện ích cho người dung internet có thể tiết kiệm thời gian đọcbáo

Nhằm đảm bảo lượng tin tức cập nhật thường xuyên trên trang tincũng là một việc rất quan trọng Việc xây dựng một module lấy tin bài tựđộng cũng nhằm việc mang lại nhiều thông tin mới nhất cho người đọc

Trang tin tức được tạo ra nhằm phục vụ nhu cầu tìm hiểu thông tin

Trang 8

1.4 Phạm vi ứng dụng

Trang tin tức hoạt động và phục vụ cho nhu cầu tìm hiểu tin tức củatất cả mọi người có nhu cầu tìm hiểu thông tin, đọc báo Trang tin tức sửdụng được trên tất cả các máy tính có Internet Không cần cài đặt thêmứng dụng khác Ngoài ra trang tin tức còn ấp dụng cho các Công ty, tổchức có nhu cầu quảng cáo, thực hiện các chiến dịch khuyến mãi trựctuyến

Trang 9

tin, cách này rất tốn kém và rất phức tạp Cách thứ 2 là xây dựng một đội ngũchuyên đi tổng hợp bài từ các trang tin khác về báo mình, cách này tuy khôngtốn kém và phức tạp hơn cách thứ nhất tuy nhiên cũng cần có nhân lực và tiềnbạc Trong đó có một cách thức mà không cần tới nhân lực và cũng tiêu tốn íttiền bạc hơn đó là thiết kế một chương trình tổng hợp các tin bài từ các nguồntrên internet về trang tin của mình để duy trì ngồn tin mới cho trang tin củamình.

Xuất phát từ những yêu cầu đó, tại sao chúng ta không giao việc tổng hợptin tức từ các trang báo khác cho máy tính làm việc Chúng ta sẽ xây dựng mộtmodule đảm nhận việc tổng hợp từ các trang báo lớn trên mạng về trang tin tứccủa mình

1.6.2 Bài toán

Trang tin tức là một website tin được thiết kế với mục đích xây dựng một trang thông tin nhỏ đáp ứng nhu cầu đọc tin tức của mọi người Tại đây mọi người có thể đọc các tin tức mới từ các trang tin tức lớn

Lợi ích của người truy cập trang Website

Website gồm có những nội dung cơ bản sau

chính trị, văn hóa, xã hội, thể thao,…v…v

mạng

Trang 10

1.6.3 Hướng giải quyết của bài toán

Thông qua ngôn ngữ PYTHON và framework web2py để xây dựngcác trang web, bao gồm Giao diện, Các Module nghiệp vụ Dùng SQLite

để lưu trữ và xử lý các kết nối cơ sở dữ liệu Các hình thức gửi và nhận dữliệu giữa công ty và khách hàng thông qua nền Intranet và Internet

1.7 Phân tích

1.7.1 Các yêu cầu đối với module lấy tin bài tự động

Module lấy tin bài sẽ lấy tin từ các nguồn tin được chỉ định về lưu trữ tại cơ sở dữ liệu ở trang tin của mình Thông tin của một bài viết được lấy về bao gồm: Tiêu đề, đoạn mô tả, và nội dung của bài viết

Trang 11

 Lấy được các tin tức từ các nguồn tin đã được chỉ định về lưu trữtại cơ sở dữ liệu của mình.

1.7.2 Các yêu cầu hoạt động trên trang web

Với một bài toán này thì hoạt động của nó bao gồm:

Hoạt động của người xem:

Một người dùng khi họ truy cập vào trang web để đọc tin tức Do

đó để đáp ứng được nhu cầu tối thiểu đó thì trang tin phải cũng cấp cácthong tin cần thiết, có giá trị và hơn thế nữa là phải dễ dàng thao tác,

bố trí hình ảnh và chữ viết phải dễ đọc tạo cảm giác thoải mái

Hoạt động của nhà quản lý:

Một người quản lý website tin tức họ cần phải cập nhật được tin tứcmới, sửa lại được nội dung của tin hay là xóa đi những tin không cầnthiết

Đối với phần lấy tin bài tự động, người quản trị cần phải bổ sungđược các địa chỉ các trang tin ở trên mạng mà mình muốn lấy bài viếtvề

Bổ sung các danh mục tin tức ở một số các trang báo mà mìnhmuốn lấy về Sau khi đã lấy được các tin bài từ các trang báo trênmạng về thì người quản trị cũng cần có chức năng đưa bài báo đó ra tờbáo của mình, sửa bài báo đó nếu cần thiết

Từ những yêu cầu trên ta có sơ đồ chức năng bài toán như sau:

Trang 12

1.7.3 Sơ đồ phân cấp chức năng

1.7.4 Sơ đồ luồng dữ liệu

Trang 13

 Biểu đồ luồng dữ liệu mức dưới đỉnh:

o Quản lý danh mục tin tức:

Trang 14

o Quản lý tin tức:

o Tìm kiếm:

Trang 15

1.7.5 Mô hình thực thể và các thuộc tính

Trang 16

Bảng “Crawler_content_type” – Bảng chứa loại nội dung cần được lấy về

T

KIỂU DỮ LIỆU

CHIỀU

CHIỀU

cha

Trang 17

Bảng “Crawler_keys” – Bảng chứa từ khóa liên quan tới danh mục

T

KIỂU DỮ LIỆU

CHIỀU

Bảng “Crawler_newspaper_type” – Bảng chứa kiểu báo

T

KIỂU DỮ LIỆU

CHIỀU

Trang 18

Bảng “Crawler_newspaper” – Bảng chứa báo

T

KIỂU DỮ LIỆU

CHIỀU

Bảng “Crawler” – Bảng chứa nội dung dữ liệu được lấy về

Trang 19

KIỂU DỮ LIỆU

CHIỀU

báo

Bảng “Crawler_contents” – Bảng chứa nội dung chi tiết của bài báo

T

KIỂU DỮ LIỆU

CHIỀU

của bài báo

Bảng “auth_group” – Bảng chứa nhóm người dùng

T

KIỂU DỮ LIỆU

CHIỀU

Trang 20

KIỂU DỮ LIỆU

CHIỀU

dùng

Bảng “auth_user” – Bảng chứa người dùng

CHIỀU

dùng

Trang 21

KIỂU DỮ LIỆU

CHIỀU

login tài khoản

Bảng “auth_membership” – Bảng liên kết người dùng và nhóm người

dùng

T

KIỂU DỮ LIỆU

CHIỀU

dùng

Trang 22

CHƯƠNG 2: TÌM HIỂU VỀ NGÔN NGỮ PYTHON VÀ

FRAMEWORK WEB2PY

2.1 Tìm hiểu về ngôn ngữ PYTHON

2.1.1 Khái niệm PYTHON

Python là một ngôn ngữ lập trình thông dịch do Guido van Rossum tạo ranăm 1990 Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tựđộng; do vậy nó tương tự như Perl, Ruby, Scheme, Smalltalk, và Tcl Pythonđược phát triển trong một dự án mã mở, do tổ chức phi lợi nhuận PythonSoftware Foundation quản lý Theo đánh giá của Eric S Raymond, Python làngôn ngữ có hình thức rất sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mớihọc lập trình

Cấu trúc của Python còn cho phép người sử dụng viết mã lệnh với số lần

Trang 23

OS/2, Windows, Linux và các hệ điều hành khác thuộc họ Unix Mặc dù sự pháttriển của Python có sự đóng góp của rất nhiều cá nhân, nhưng Guido vanRossum hiện nay vẫn là tác giả chủ yếu của Python Ông giữ vai trò chủ chốttrong việc quyết định hướng phát triển của Python

2.1.2 Lịch sử phát triển:

Sự phát triển Python đến nay có thể chia làm các giai đoạn:

đầu đến cuối thập niên 1990 Từ năm 1990 đến 1995, Guido làm việc tại

CWI (Centrum voor Wiskunde en Informatica - Trung tâm Toán-Tin học)

tại Amsterdam, Hà Lan Vì nguyên nhân này, các phiên bản Python đầutiên đều do CWI phát hành Phiên bản cuối cùng phát hành tại CWI là 1.2

o Vào năm 1995, Guido chuyển sang Corporation for NationalResearch Initiatives (CNRI) ở Reston, Virginia Tại đây, ông pháthành một số phiên bản khác Python 1.6 là phiên bản cuối cùng pháthành tại CNRI

o Sau bản phát hành 1.6, Guido rời bỏ CNRI để làm việc với các lậptrình viên chuyên viết phần mềm thương mại Tại đây, ông có ýtưởng sử dụng Python với các phần mềm tuân theo chuẩn GPL Sau

đó, CNRI và Free Software Foundation (FSF) đã cùng nhau hợp tác

để làm bản quyền Python phù hợp với GPL Cùng năm đó, Guidođược nhận giải thưởng FSF Award for the Advancement of FreeSoftware

o Phiên bản 1.6.1 ra đời sau đó là phiên bản đâu tiền tuân theo bảnquyền GPL Tuy nhiên, bản này hoàn toàn giống bản 1.6, trừ một số

Trang 24

 Python 2: vào năm 2000, Guido và nhóm phát triển Python dời đếnBeOpen.com và thành lập BeOpen PythonLabs team Phiên bản Python2.0 được phát hành tại đây Sau khi phát hành Python 2.0, Guido và cácthành viên PythonLabs gia nhập Digital Creations.

oPython 2.1 ra đời kế thừa từ Python 1.6.1 và Python 2.0 Bản quyềncủa phiên bản này được đổi thành Python Software FoundationLicense Từ thời điểm này trở đi, Python thuộc sở hữu của PythonSoftware Foundation (PSF), một tổ chức phi lợi nhuận được thànhlập theo mẫu Apache Software Foundation

triển vẫn đang thảo luận về phiên bản mới: Python 3.0 (dự án gọi làPython 3000 hoặc Py3K) Dự kiến, dòng 3.x sẽ không hoàn toàn tươngthích với dòng 2.x Nhóm phát triển cho biết sẽ lấp những chỗ hở củangôn ngữ Nguyên tắc chủ đạo để phát triển Python 3.x là "bỏ cách làmviệc cũ nhằm hạn chế trùng lặp về mặt chức năng của Python" Chính vìvậy, tại thời điểm này python đã có phiên bản mới: python 3 Phiên bảnmới nhất của python tại thời điểm này là python 3.2

2.1.3 Các phiên bản nổi tiếng của PYTHON

Python, được viết trong C Những đặc điểm của ngôn ngữ mới xuất hiện đầu tiên từ đây

được sử dụng như là một ngôn ngữ script cho những ứng dụng Java

Trang 25

Python for NET: Phiên bản này thật ra sử dụng phiên bản Cpython,

nhưng nó là một ứng dụng NET được quản lý, và tạo ra thư

viện NET sẵn dùng Bản này được xây dựng bởi Brian Lloyd

Python.NET đây là một bản Python hoàn chỉnh, tạo ra IL, và biên dịch

mã Python trực tiếp vào một tập hợp NET

byte mã cũng được viết trên Python Nó sử dụng Cpython như một trình thông dịch cơ sở Một trong những mục đích của dự án cho ra đời phiên bản này là để khuyến khích sự thử nghiệm bản thân ngôn ngữ này làm cho nó dễ dàng hơn để sửa đổi thông dịch (bởi vì nó được viết trên Python)

2.1.4 Sơ lược về PYTHON:

2.1.4.1 Từ khóa:

Python tăng cường sử dụng từ khóa tiếng Anh, hạn chế các kíhiệu và cấu trúc cú pháp so với các ngôn ngữ khác Python là mộtngôn ngữ phân biệt kiểu chữ Như C/C++, các từ khóa của Pythonđều ở dạng chữ thường Dưới đây là hệ thống từ khóa chuẩn:

And, del, from, not, while, as, elif, global, or, with, assert, else, if, pass, yield, break, except, import, print, class, exec, in, raise, continue, finally, is, return, def, for, lambda, try

Trang 26

2.1.4.2 Khối lệnh:

Python, có một cách rất đặc biệt để tạo khối lệnh, đó là thụtcác câu lệnh trong khối vào sâu hơn (về bên phải) so với các câulệnh của khối lệnh cha chứa nó

Ví dụ giả sử có đoạn mã sau trong C/C++:

#include <math.h>

//

delta = b * b – 4 * a * c;

if (delta > 0){

// Khối lệnh mới bắt đầu từ kí tự { đến } x1 = (- b + sqrt(delta)) / (2 * a);

x2 = (- b - sqrt(delta)) / (2 * a);

printf("Phuong trinh co hai nghiem phan biet:\n");

printf("x1 = %f; x2 = %f", x1, x2);

}Đoạn mã trên có thể được viết lại bằng Python như sau:

Ngày đăng: 15/12/2015, 07:28

HÌNH ẢNH LIÊN QUAN

1.7.4. Sơ đồ luồng dữ liệu - Xây dựng website tin tức và module lấy tin bài tự động  luận văn tốt nghiệp đại học
1.7.4. Sơ đồ luồng dữ liệu (Trang 12)
1.7.3. Sơ đồ phân cấp chức năng - Xây dựng website tin tức và module lấy tin bài tự động  luận văn tốt nghiệp đại học
1.7.3. Sơ đồ phân cấp chức năng (Trang 12)
Bảng  “auth_membership”  –  Bảng  liên   kết   người  dùng  và   nhóm  người  dùng - Xây dựng website tin tức và module lấy tin bài tự động  luận văn tốt nghiệp đại học
ng “auth_membership” – Bảng liên kết người dùng và nhóm người dùng (Trang 21)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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