Tải bản đầy đủ (.doc) (45 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.6 MB, 45 trang )

N TT NGHIP

Trang tin tc v module ly tin t ng

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

đồ án tốt nghiệp
Đề tài:

Xây dựng phần mềM
AUTO GENERATE CODE Và
ứNG DụNG VàO WEBSITE TIN TứC

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

Nghệ An - 2011

H Hi Long LP 47K KHOA CễNG NGH THễNG TIN

1 | 45


ĐỒ ÁN TỐT NGHIỆP

Trang tin tức và module lấy tin tự động

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ìm
hiể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ất
tiệ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 tin
tứ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 trang
tin 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 trang
tin 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á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 trên mạng internet về trang báo mình, cách
nà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ũng
tiê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ác
nguồn trên internet về trang tin của mình để duy trì ngồn tin mới cho trang tin
củ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
cận, phạm vi ứng dụng của đề tài và phân tích bài toán
Chương 2: Tìm hiểu ngôn ngữ PYTHON và framework WEB2PY

Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN

2 | 45


ĐỒ ÁN TỐT NGHIỆP


Trang tin tức và module lấy tin tự động

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ụng
ngô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ông
tin chính xác còn nhiều hạn chế, do đó khoá luận không thể tránh khỏi những sai
só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

Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN

3 | 45


ĐỒ ÁN TỐT NGHIỆP


Trang tin tức và module lấy tin tự động

LỜI NÓI ĐẦU.............................................................................................................................2
....................................................................................................................................................5
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................................................................................................12
1.7.5. Mô hình thực thể và các thuộc tính........................................................................15
CHƯƠNG 2: TÌM HIỂU VỀ NGÔN NGỮ PYTHON VÀ FRAMEWORK WEB2PY..........22
2.1. Tìm hiểu về ngôn ngữ PYTHON...................................................................................22
2.1.1. Khái niệm PYTHON..............................................................................................22
2.1.2. Lịch sử phát triển:...................................................................................................23
2.1.3.Các phiên bản nổi tiếng của PYTHON...................................................................25
2.1.4. Sơ lược về PYTHON:............................................................................................25
2.1.4.1.Từ khóa:................................................................................................................25
2.1.4.2.Khối lệnh:.............................................................................................................26
2.1.4.3.Trình thông dịch:..................................................................................................27

2.1.4.4.Lệnh và cấu trúc điều khiển:................................................................................27
2.1.4.5.Hệ thống kiểu dữ liệu:..........................................................................................28
2.1.4.6.Module :...............................................................................................................29
2.1.4.7.Một số tính chất khác:..........................................................................................29
2.2. Web2py framework .......................................................................................................30
2.1.1. Giới thiệu về web2py:............................................................................................30
2.1.2. Đặc điểm của web2py............................................................................................30
2.1.3. Mô hình MVC:.......................................................................................................31
2.1.4. Cơ sở dữ liệu trong web2py:..................................................................................33
2.1.4.1. Khai báo cơ sở dữ liệu:.......................................................................................33
2.1.4.2. Các kiểu dữ liệu:.................................................................................................34
1.2.4.3. Thao tác với cơ sở dữ liệu...................................................................................34
CHƯƠNG 3. THIẾT KẾ, CÀI ĐẶT VÀ GIỚI THIỆU SẢN PHẨM......................................35
3.1. Thiết kế...........................................................................................................................36
3.1.1. Lược đồ Website....................................................................................................36
3.1.2. Trang chủ................................................................................................................36
Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN

4 | 45


ĐỒ ÁN TỐT NGHIỆP

Trang tin tức và module lấy tin tự động

3.1.3. Trang danh mục......................................................................................................38
3.1.4. Chi tiết bài báo.......................................................................................................39
3.1.5. Tìm kiếm................................................................................................................39
3.1.6. Trang lấy tin tức.....................................................................................................40
3.1.7. Quản lý danh mục báo chí......................................................................................40

3.1.8. Quản lý danh sách báo chí......................................................................................41
3.1.9. Quản lý tin tức........................................................................................................41
3.2. Cài đặt.............................................................................................................................42
KẾT LUẬN...............................................................................................................................44
TÀI LIỆU THAM KHẢO.........................................................................................................45

Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN

5 | 45


ĐỒ ÁN TỐT NGHIỆP

Trang tin tức và module lấy tin tự động

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ới
công nghệ Word Wide Web, hay còn gọi là Web sẽ giúp bạn đưa những
thông tin mong muốn của mình lên mạng Internet. Hay bạn có thể đọc
bá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 đi
mua báo nữa.
Bên cạnh đó, sự ra đời của các ngôn ngữ lập trình cho phép chúng

ta xây dựng các trang Web đáp ứng được các yêu cầu của người sử dụng.
Việc tạo nên một trang tin tức là hết sức dễ đàng, tuy nghiên để duy trì các
Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN

6 | 45


ĐỒ ÁN TỐT NGHIỆP

Trang tin tức và module lấy tin tự động

bài viết mới cho trang tin là một vấn đề khó. Với nhiều cách thức đã nêu
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à
PYTHON, trên nền framework web2py (www.web2py.com), ngôn ngữ
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ạng
internet. 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ường
Internet. Chính vì thế ngày nay hầu như tất cả các tòa báo đã có trang tin
tứ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ệc

xây dựng một Website tin tức phục vụ nhu cầu trên cũng không ngoài việc
tạo nên một tiện ích cho người dung internet có thể tiết kiệm thời gian đọc
báo.
Nhằm đảm bảo lượng tin tức cập nhật thường xuyên trên trang tin
cũ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
của chúng ta hằng ngày. Góp phần mang lại sự tiện lợi cho nhu cầu đọc
báo hằng ngày của chúng ta.

Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN

7 | 45


ĐỒ ÁN TỐT NGHIỆP

Trang tin tức và module lấy tin tự động

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ủa
tấ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ực
tuyến.
1.5. Công cụ sử dụng
 Microsoft SQL Server 2000.
 Web2py Framework version 1.94.1.
 Notepad++.

 Adobe Photoshop CS4.
 Adobe Dreamweaver CS4.
 Mozilla Firefox version 4.0.
 Google Chrome 11.0.696.60

1.6. Bài toán thực tế
1.6.1. Đặt vấn đề
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ìm
hiể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ất
tiệ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 tin
tứ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 trang
tin tức không phải là dễ dàng. Có nhiều cách thức đơn để duy trì nguồn tin mới
trên trang tin của mình. Một là xây dựng một đội ngũ chuyên viết bài cho trang
Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN

8 | 45


ĐỒ ÁN TỐT NGHIỆP

Trang tin tức và module lấy tin tự động

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ông
tố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ền
bạ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 í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ác nguồn

trên internet về trang tin của mình để duy trì ngồn tin mới cho trang tin của
mì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ợp
tin 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ột
module đả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ức
củ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
 Đọc báo một cách dễ dàng và tiện lợi
 Được xem các bài viết mới từ nhiều trang báo lớn trên mạng
Website gồm có những nội dung cơ bản sau
 Bao gồm các bài viết, tin tức về tất cả các lĩnh vực kinh tế,
chính trị, văn hóa, xã hội, thể thao,…v…v
 Các tin bài sẽ được cập nhật mới từ các trang báo lớn ở trên
mạng.
 Khách hàng có thể tìm kiếm các bài viết, bài báo.

Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN

9 | 45


ĐỒ ÁN TỐT NGHIỆP

Trang tin tức và module lấy tin tự động


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ựng
cá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.

Đối với module lấy tin bài tự động thì hoạt động của nó:

Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN

10 | 45


ĐỒ ÁN TỐT NGHIỆP

Trang tin tức và module lấy tin tự động

 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.
 Quản lý các loại thông tin cần lấy
 Quản lý các nguồn thông tin cần lấy về
 Quản lý các loại danh mục tin
 Quản lý các tin tức đã được lấy về


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ác
thong 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ức
mới, sửa lại được nội dung của tin hay là xóa đi những tin không cần
thiế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ết
về.
Bổ sung các danh mục tin tức ở một số các trang báo mà mình
muốn lấy về. Sau khi đã lấy được các tin bài từ các trang báo trên
mạ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:

Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN

11 | 45


ĐỒ ÁN TỐT NGHIỆP

Trang tin tức và module lấy tin tự động

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


1.7.4. Sơ đồ luồng dữ liệu
 Sơ đồ luồng dữ liệu mức khung cảnh:

Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN

12 | 45


ĐỒ ÁN TỐT NGHIỆP

Trang tin tức và module lấy tin tự động

 Biểu đồ luồng dữ liệu mức dưới đỉnh:
o Quản lý danh mục tin tức:

Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN

13 | 45


ĐỒ ÁN TỐT NGHIỆP

Trang tin tức và module lấy tin tự động

o Quản lý tin tức:

o Tìm kiếm:

Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN


14 | 45


ĐỒ ÁN TỐT NGHIỆP

Trang tin tức và module lấy tin tự động

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

Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN

15 | 45


ĐỒ ÁN TỐT NGHIỆP

Trang tin tức và module lấy tin tự động

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

T

TÊN THUỘC TÍNH

T
1. id
2. Name
3. Rules


KIỂU DỮ
LIỆU
integer
Char
Text

CHIỀU
DÀI

CHÚ THÍCH

4 Khóa chính, tự tăng
128 Tên loại
Luật cho loại nội
dung cần lấy về

Bảng “Crawler_category” – Bảng chứa danh mục nội dung cần lấy về

T
T

TÊN THUỘC TÍNH

1. id
2. Parent
3. Code
4. Name
5. Position

KIỂU DỮ

LIỆU
Integer
Integer

CHIỀU
DÀI

Char
Char
Integer

Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN

CHÚ THÍCH

4 Khóa chính, tự tăng
4 Id của danh mục
cha
128 Mã của danh mục
512 Tên danh mục
4 Thứ tự danh mục

16 | 45


ĐỒ ÁN TỐT NGHIỆP

Trang tin tức và module lấy tin tự động

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


T
T

TÊN THUỘC TÍNH

1. id
2. Crawler_category
3. Name
4. Quantity
5. Category

KIỂU DỮ
LIỆU
Integer
Integer
Char
Integer
Char

CHIỀU
DÀI
4
4
512
10
512

CHÚ THÍCH
Khóa chính, tự tăng

Id danh mục
Tên từ khóa
Số lần xuất hiện
Danh mục

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

T
T

TÊN THUỘC TÍNH

1. id
2. Parent
3. Name
4. Position

KIỂU DỮ
LIỆU
Integer
Integer
Char
Integer

CHIỀU
DÀI

Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN

4

4
512
4

CHÚ THÍCH
Khóa chính, tự tăng
Id kiểu báo cha
Tên kiểu báo
Thứ tự kiểu báo

17 | 45


ĐỒ ÁN TỐT NGHIỆP

Trang tin tức và module lấy tin tự động

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

T
T

TÊN THUỘC TÍNH

KIỂU DỮ

1. id
2. Crawler_newspaper_t

LIỆU

Integer
Integer

ype
3. Name
4. Link
5. Rules

Char
Char
Text

CHIỀU
DÀI

CHÚ THÍCH

4 Khóa chính, tự tăng
4 Id kiểu báo
512 Tên báo
512 Địa chỉ của báo
Luật của một bài

R

báo tương ứng

Bảng “Crawler_newspaper_category” – Bảng chứa danh mục báo

T

T

TÊN THUỘC TÍNH

KIỂU DỮ

CHIỀU
DÀI

CHÚ THÍCH

1. id
2. Crawler_category
3. Crawler_newspaper
4. Crawler_content_type
5. Category

LIỆU
Integer
Integer
Integer
Integer
Char

R
6. Name

Char

512 Tên danh mục


N
7. Link
8. Rules
9. Rulesdetail

Char
Text
Text

512 Địa chỉ danh mục
512 Luật danh mục
512 Luật chi tiết

4
4
4
4
512

Khóa chính, tự tăng
ID kiểu dữ liệu
ID báo
ID kiểu nội dung
Danh mục

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

Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN


18 | 45


ĐỒ ÁN TỐT NGHIỆP

T
T

TÊN THUỘC TÍNH

Trang tin tức và module lấy tin tự động

KIỂU DỮ

LIỆU
1. id
Integer
2. Crawler_newspaper_c Integer

CHIỀU
DÀI

CHÚ THÍCH

4 Khóa chính, tự tăng
4 ID danh mục báo

ategory
3. Title

4. Description
5. Update

Char
Char
Char

512 Tiêu đề của báo
512 Mô tả bài báo
512 Thời gian cập nhật

R
6. Link

Char

512 Địa chỉ thực của bài

Time
Double
Char

báo
Thời gian tạo
Vị trí
512 Ảnh minh họa

N
7. Created
8. Point

9. Image
r

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

T
T

TÊN THUỘC TÍNH

1. id
2. Crawler
3. Content

KIỂU DỮ
LIỆU
Integer
Integer
Text

CHIỀU
DÀI

CHÚ THÍCH

4 Khóa chính, tự tăng
4 ID báo được lấy về
Nội dung chi tiết
của bài báo


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

T
T

TÊN THUỘC TÍNH
1. id

KIỂU DỮ
LIỆU
Integer

CHIỀU
DÀI

Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN

CHÚ THÍCH

4 Khóa chính, tự tăng
19 | 45


ĐỒ ÁN TỐT NGHIỆP

T

TÊN THUỘC TÍNH

T

2. Role
3. Description

Trang tin tức và module lấy tin tự động

KIỂU DỮ

CHIỀU

CHÚ THÍCH
DÀI
512 Quyền của nhóm
Miêu tả

LIỆU
Char
Text

Bảng “auth_permission” – Bảng chứa quyền người dùng

T
T

TÊN THUỘC TÍNH

1. id
2. Group_id
3. Name
4. Table_name
5. Record_id


KIỂU DỮ

CHIỀU

LIỆU
Integer
Integer

DÀI

CHÚ THÍCH

4 Khóa chính, tự tăng
4 ID Nhóm người
dùng
512 Tên quyền
512 Tên bảng
4 Id bản ghi

Char
Char
Integer

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

T

TÊN THUỘC


T

TÍNH

1. id
2. First_name
3. Last_name
4. Email

KIỂU DỮ
LIỆU
Integer
Char
Char
Char

CHIỀU
DÀI

Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN

4
128
128
512

CHÚ THÍCH
Khóa chính, tự tăng
Họ người dùng
Tên người dùng

Email người dùng
20 | 45


ĐỒ ÁN TỐT NGHIỆP

T

TÊN THUỘC

T
TÍNH
5. Password
6. Registration_key
7. Reset_password_ke

Trang tin tức và module lấy tin tự động

KIỂU DỮ
LIỆU
Char

CHIỀU

CHÚ THÍCH
DÀI
512 Mật khẩu người
dùng
512 Mã đăng ký
512 Mã khởi tạo lại mật


Char
Char

y

khẩu

Bảng “auth_event” – Bảng chứa các sự kiện về người dùng

T

TÊN THUỘC TÍNH

T

1. id
2. Time_stamp
3. Client_ip

KIỂU DỮ
LIỆU
Integer
Time
Char

CHIỀU
DÀI

CHÚ THÍCH


4 Khóa chính, tự tăng
4 Thời gian
512 Địa chỉ ip máy trạm đã

login tài khoản
4. User_id
Integer
Mã người dùng
5. Origin
Char
512 Nguồn gốc
6. Description
Text
Miêu tả
Bảng “auth_membership” – Bảng liên kết người dùng và nhóm người
dùng

T
T

TÊN THUỘC TÍNH

1. id
2. Group_id
3. User_id

KIỂU DỮ
LIỆU
Integer

Integer

CHIỀU
DÀI

Integer

Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN

CHÚ THÍCH

4 Khóa chính, tự tăng
4 ID Nhóm người
dùng
4 ID Người dùng

21 | 45


ĐỒ ÁN TỐT NGHIỆP

Trang tin tức và module lấy tin tự động

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 ra
nă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 Python

Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN

22 | 45


ĐỒ ÁN TỐT NGHIỆP

Trang tin tức và module lấy tin tự động

Software 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ới
họ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
gõ phím tối thiểu, như nhận định của chính Guido van Rossum trong một bài
phỏng vấn ông.
Ban đầu, Python được phát triển để chạy trên nền Unix. Nhưng rồi theo
thời gian, nó đã “bành trướng” sang mọi hệ điều hành từ MS-DOS đến Mac OS,
OS/2, Windows, Linux và các hệ điều hành khác thuộc họ Unix. Mặc dù sự phát
triển của Python có sự đóng góp của rất nhiều cá nhân, nhưng Guido van
Rossum hiện nay vẫn là tác giả chủ yếu của Python. Ông giữ vai trò chủ chốt
trong 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:
 Python 1: bao gồm các bản phát hành 1.x. Giai đoạn này, kéo dài từ
đầ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 đầu
tiê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 National
Research Initiatives (CNRI) ở Reston, Virginia. Tại đây, ông phát
hành một số phiên bản khác. Python 1.6 là phiên bản cuối cùng phát
hà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ập
trì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
Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN

23 | 45


ĐỒ ÁN TỐT NGHIỆP

Trang tin tức và module lấy tin tự động

đó, 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 Free
Software.
o Phiên bản 1.6.1 ra đời sau đó là phiên bản đâu tiền tuân theo bản
quyền GPL. Tuy nhiên, bản này hoàn toàn giống bản 1.6, trừ một số
sửa lỗi cần thiết.
 Python 2: vào năm 2000, Guido và nhóm phát triển Python dời đến
BeOpen.com và thành lập BeOpen PythonLabs team. Phiên bản Python
2.0 được phát hành tại đây. Sau khi phát hành Python 2.0, Guido và các
thà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ền

của phiên bản này được đổi thành Python Software Foundation
License. Từ thời điểm này trở đi, Python thuộc sở hữu của Python
Software Foundation (PSF), một tổ chức phi lợi nhuận được thành
lập theo mẫu Apache Software Foundation.
 Python 3: Về sự phát triển của Python trong tương lai, các nhà phát
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ương
thích với dòng 2.x. Nhóm phát triển cho biết sẽ lấp những chỗ hở của
ngôn ngữ. Nguyên tắc chủ đạo để phát triển Python 3.x là "bỏ cách làm
việ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ản
mới nhất của python tại thời điểm này là python 3.2.

Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN

24 | 45


ĐỒ ÁN TỐT NGHIỆP

Trang tin tức và module lấy tin tự động

2.1.3. Các phiên bản nổi tiếng của PYTHON
 Cpython: Đây là phiên bản đầu tiên và được duy trì lâu nhất của
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.
 Jython: Là phiên bản Python trong môi trường Java. Bản này có thể
được sử dụng như là một ngôn ngữ script cho những ứng dụng Java.
Nó cũng thường được sử dụng để tạo ra những tests thử nghiệm cho
thư viện Java.

 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.
 IronPython: Là một bản Python tiếp theo của .NET, không giống như
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.
 PyPy: PyPy được viết trên Python, thậm chí cả việc thông dịch từng
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ột
ngô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:

Hồ Hải Long – LỚP 47K KHOA CÔNG NGHỆ THÔNG TIN

25 | 45


×