Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Python

PyQuery: jQuery của Python

by
Difficulty:BeginnerLength:ShortLanguages:

Vietnamese (Tiếng Việt) translation by Dai Phong (you can also view the original English article)

Trong hướng dẫn này, bạn sẽ tìm hiểu PyQuery, một thư viện Python cho phép bạn tạo các truy vấn jQuery trên các tài liệu XML. Về mặt cú pháp, nó khá giống với jQuery, và nếu bạn đã quen với jQuery thì sẽ theo dõi dễ dàng hơn.

Làm quen với PyQuery

Để làm quen với PyQuery, hãy cài đặt gói Python bằng PIP.

Một khi bạn đã cài đặt PyQuery, import nó vào chương trình Python.

Hãy bắt đầu bằng một ví dụ cơ bản về cách hoạt động của nó. Hãy xem xét HTML sau đây:

Truyền input XML vào đối tượng PyQuery và bạn sẽ có thể áp dụng các truy vấn kiểu jQuery vào nó.

Xem divMain như là một đối tượng jQuery và in ra nội dung HTML của div.

Lưu các thay đổi và thử chạy chương trình. Bạn sẽ có đầu ra sau đây:

Để truy cập văn bản Hello World từ bên trong span, code sẽ là:

Lưu các thay đổi và thử chạy code. Bạn sẽ có đầu ra sau đây:

Thao tác trên các Thuộc tính bằng PyQuery

Bây giờ chúng ta hãy xem cách đọc các thuộc tính bằng thư viện PyQuery. Giả sử rằng bạn có một phần tử HTML như sau:

Sử dụng thư viện PyQuery để đọc nội dung HTML ở trên.

Hãy thử truy cập vào thuộc tính ID của ul ulMain.

Lưu các thay đổi ở trên và thử chạy chương trình Python. Bạn sẽ có ID ulMain được in ra trên Terminal.

Bạn đã thấy cách truy cập thuộc tính ID của ul ulMain. Hãy thử thiết lập một tên lớp cho chính phần tử ulMain. Để gán một thuộc tính tên lớp, bạn cần chỉ định tên thuộc tính và giá trị tương ứng như sau:

In đối tượng ulMain và bạn sẽ có phần tử với thuộc tính class.

Bạn cũng có thể thêm và loại bỏ các lớp trực tiếp mà không cần sử dụng phương thức attr. Để thêm một lớp vào phần tử, bạn có thể sử dụng phương thức addClass.

Để loại bỏ một lớp hiện có khỏi phần tử, bạn có thể sử dụng phương thức removeClass.

Xử lý CSS bằng PyQuery

Ngoài các thuộc tính ra, thì phần tử sẽ có một số thuộc tính CSS. Để thêm hoặc sửa đổi thuộc tính CSS, bạn có thể sử dụng phương thức css và chỉ định các thuộc tính. Giả sử bạn muốn chỉ định chiều cao cho ul ulMain. Đoạn code sau sẽ thêm thuộc tính cần thiết cho phần tử.

Lưu các thay đổi ở trên và thử chạy chương trình Python. Bạn sẽ có ul ulMain in ra cùng với phong cách mới.

Để thêm nhiều phong cách vào phần tử, bạn có thể chỉ định chúng như sau:

Chạy chương trình và bạn sẽ thấy các phong cách được thêm vào ulMain.

Tạo và Nối thêm các Phần tử

Trong quá trình tạo phần tử động, bạn cần tạo các phần tử mới và nối thêm chúng vào phần tử cha hiện có nơi chúng sẽ được hiển thị. Chúng ta hãy cùng xem cách tạo và nối thêm các phần tử bằng PyQuery.

Giả sử bạn có div container chính được gọi là divMain.

Hãy tạo một phần tử span mới bằng PyQuery.

Thêm một số thuộc tính CSS vào span.

PyQuery cung cấp một phương thức để thêm các phần tử vào các phần tử hiện có. Bạn có thể sử dụng phương thức append để nối thêm phần tử span vào div divain. Đây là code:

Lưu các thay đổi và chạy chương trình. Bạn sẽ thấy divMain được in ra cùng với span mới được được nối vào nó.

Bạn đã sử dụng phương thức append để nối thêm span vào div. Bạn có một phương thức khác được gọi là appendTo, nó sẽ nối thêm các nút vào giá trị. Trong trường hợp trên, bạn có thể sử dụng phương thức này như sau:

Tìm các Phần tử bằng PyQuery

PyQuery cung cấp các phương thức tìm kiếm các phần tử con, các phần tử tiếp theo, các phần tử gần nhất, vân vân. Nó cũng cung cấp các phương thức để lọc và tìm các phần tử bên trong một nút cụ thể.

Giả sử rằng bạn có một phần HTML cụ thể như sau:

Thêm HTML sau vào đối tượng PyQuery:

Hãy sử dụng PyQuery để tìm các phần tử con của div divain. Thêm dòng code sau đây để in ra các phần tử con của divMain.

Khi chạy chương trình, bạn sẽ thấy đầu ra như sau:

Để tìm phần tử gần nhất của một phần tử, bạn có thể sử dụng phương thức closest. Để tìm phần tử div gần nhất của span, thì code sẽ là:

Lệnh trên sẽ trả về kết quả sau:

Phương thức find cũng được hỗ trợ để tìm các phần tử. Ví dụ, để tìm một span bên trong divMain, bạn cần phải gọi phương thức như sau:

Lệnh trên sẽ trả về phần tử span.

Chèn một Phần tử Bên trong HTML

Mặc dù append làm tốt công việc thêm các phần tử vào các phần tử hiện có, nhưng đôi khi bạn cần chèn các phần tử sau hoặc trước các phần tử nhất định. PyQuery cung cấp một phương thức để chèn các phần tử trước hoặc sau các phần tử khác.

Hãy định nghĩa một phần tử đoạn văn mới để chèn vào phía sau span bên trong div divMain.

Gọi phương thức insertAfter trên phần tử p để chèn nó sau span.

Lưu thay đổi ở trên và chạy chương trình Python. Bạn sẽ thấy đầu ra sau đây:

Tương tự, bạn có phương thức insertBefore để chèn phía trước phần tử. Sửa đổi code như bên dưới để sử dụng phương thức insertBefore:

Lưu các thay đổi và chạy chương trình. Bạn sẽ thấy đầu ra sau đây trên Terminal:

Tóm tắt

Trong hướng dẫn này, bạn đã học được cách sử dụng PyQuery, một thư viện Python cho phép bạn tạo các truy vấn jQuery trên các tài liệu XML. Bạn đã thấy cách thao tác trên các thuộc tính và các phong cách CSS của các phần tử HTML.

Bạn đã học được cách tạo và nối các phần tử vào các phần tử hiện có và chèn các phần tử mới trước và sau các phần tử. Những gì bạn thấy trong hướng dẫn này chỉ là phần nổi của tảng băng trôi, và có rất nhiều thứ mà thư viện này cung cấp.

Để tìm hiểu chi tiết về việc sử dụng thư viện này, tôi khuyên bạn nên đọc tài liệu chính thức. Hãy cho chúng tôi biết ý kiến ​​của bạn trong phần bình luận ​​dưới đây nhé.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.