Bài 14: Làm việc với dữ liệu Web trong Python

Bài 14: Làm việc với dữ liệu Web trong Python

Mục tiêu bài học

Trong bài học này, bạn sẽ tìm hiểu các kỹ thuật để làm việc với dữ liệu lấy từ Web. Các kỹ thuật này sẽ giúp ích cho bạn trong việc xử lý dữ liệu đã thu thập.

  • Sử dụng Regex để trích xuất dữ liệu.

  • Xử lý dữ liệu JSON.

1. Sử dụng Regex để trích xuất dữ liệu

Regex là các mẫu (pattern) thay vì các chuỗi cụ thể, được sử dụng để tìm/thay thế (Find/Replace). Regex là một công cụ cực mạnh để xử lý chuỗi trong Python. Ví dụ: khi kiểm tra tính hợp lệ của email hoặc số điện thoại thì điều bạn nghĩ tới đầu tiên chính là regex.

Regex là viết tắt của Regular Expression (biểu thức chính quy).

VideoTìm hiểu về toán tử Regex

Trích xuất dữ liệu là một công việc rất quan trọng trong khoa học dữ liệu, giúp bạn lấy ra các thông tin cần thiết và loại bỏ những thông tin không cần thiết. Regex hỗ trợ rất mạnh việc này. Trong video tiếp theo, chúng ta sẽ cùng tìm hiểu về trích xuất dữ liệu với regex.

VideoTrích xuất dữ liệu

Trong tài liệu đọc này, chúng ta sẽ tìm hiểu các ký hiệu của Regex trong Python.

Bài đọcRegex Cheat Sheet

2. Xử lý dữ liệu dạng JSON

JSON là viết tắt của JavaScript Object Notation, là một kiểu định dạng dữ liệu tuân theo một quy luật nhất định mà hầu hết các ngôn ngữ lập trình hiện nay đều có thể đọc được. JSON là một tiêu chuẩn mở để trao đổi dữ liệu trên web.

Định dạng JSON sử dụng các cặp key – value. Nó hỗ trợ các cấu trúc dữ liệu như đối tượng và mảng, ví dụ:

[
    {
        "id": "0001",
        "type": "donut",
        "name": "Cake",
        "ppu": 0.55,
        "batters":
            {
                "batter":
                    [
                        { "id": "1001", "type": "Regular" },
                        { "id": "1002", "type": "Chocolate" },
                        { "id": "1003", "type": "Blueberry" },
                        { "id": "1004", "type": "Devil's Food" }
                    ]
            },
        "topping":
            [
                { "id": "5001", "type": "None" },
                { "id": "5002", "type": "Glazed" }
            ]
    }
]

VideoGiới thiệu về JSON

VideoXử lý dữ liệu dạng JSON

Thực hành: Lab 10 – Sử dụng Regex để trích xuất dữ liệu

Ở bài lab này, bạn sẽ thực hành viết các regex để trích xuất dữ liệu từ chuỗi thông qua 8 bài tập dưới đây. Đầu tiên, bạn cần tải các đoạn code ở phần tài nguyên và hoàn thành chúng theo đề bài.

Tài nguyênTải đoạn code cho các bài tập Lab 10

Bài 1

Mở file Ex1.py và hoàn thành đoạn code để lấy các dòng được bắt đầu bằng ký tự >. Kết quả sau khi chạy sẽ như sau:

['>Venues', '>Marketing', '>medalists', '>Controversies', '>Paralympics', '>snowboarding', '>Netherlands', '>Norway', '>References', '>edit', '>Norway', '>Germany', '>Canada', '>Netherlands', '>Japan', '>Italy', '>Belarus', '>China', '>Slovakia', '>Slovenia', '>Belgium', '>Spain', '>Kazakhstan', '>1964', '>1968', '>1972', '>1992', '>1996', '>2000']

Bài 2

Mở file Ex2.py và hoàn thành đoạn code để lấy được các email có trong chuỗi đó. Kết quả sau khi chạy sẽ như sau:

['franky@google.com', 'sinatra123@yahoo.com']

Bài 3

Mở file Ex3.py và hoàn thành đoạn code để lấy được các email có trong chuỗi đó, chỉ lấy phần trước ký tự @ và cả ký tự @. Kết quả sau khi chạy sẽ như sau:

['franky@', 'sinatra123@']

Bài 4

Mở file Ex4.py và hoàn thành đoạn code tương tự như Bài 3, nhưng lần này không lấy ký tự @. Kết quả sau khi chạy sẽ như sau:

['franky', 'sinatra123']

Bài 5

Mở file Ex5.py và hoàn thành đoạn code để trích xuất những từ có đúng 8 ký tự từ chuỗi. Kết quả sau khi chạy sẽ như sau:

['empourpr', 'palmiers']

Bài 6

Mở file Ex6.py và hoàn thành đoạn code để trích xuất những số bắt đầu với 212. Kết quả sau khi chạy sẽ như sau:

['21299']

Bài 7

Mở file Ex7.py và hoàn thành đoạn code theo yêu cầu sau. Bạn được cung cấp giá cổ phiếu cho các mã tài chính liên quan (biểu tượng đại diện cho các công ty trên thị trường chứng khoán). Hãy trích xuất các mã được đề cập trong báo cáo, ví dụ: TSLA, NFLX… Kết quả sau khi chạy sẽ như sau:

['TSLA', 'ORCL', 'GE', 'MSFT', 'BIDU']

Bài 8

Mở file Ex8.py và hoàn thành đoạn code để trích xuất các thẻ HTML có nhiều hơn 4 chữ cái. Các thẻ HTML mở nằm bên trong cặp ký tự <> và các thẻ đóng có cùng định dạng sau ký tự </>, ví dụ <param> và </param>. Kết quả sau khi chạy sẽ như sau:

['video', 'center', 'button']

Học viên thực hiện bài lab thông qua IDE (Visual Studio Code, Sublime Text hoặc PyCharm) trên máy tính cá nhân.

Thời gian dự kiến thực hành: 120 phút.

Tổng kết bài học

Qua bài học này, bạn đã nắm được các kỹ thuật làm việc với dữ liệu thu thập từ trang Web. Các kỹ thuật này sẽ giúp bạn trích xuất dữ liệu chính xác hơn.

  • Biết cách sử dụng Regex để trích xuất dữ liệu từ chuỗi.

  • Biết cách làm việc với dữ liệu dạng JSON.

Quiz 14

10 câu hỏi. Chọn đáp án rồi bấm “Nộp bài” để xem kết quả.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Lên đầu trang