Trình phân tích cú pháp css của beautifulsoup

Trong phần này, chúng tôi sẽ phân tích cú pháp thành dữ liệu XML nội dung để xử lý. Để xử lý XML, ta sẽ sử dụng thư viện Beautifulsoup 4. Đây là một thư viện giúp phát triển công việc phân tích cú pháp html, xml nhanh chóng và tiện lợi

Tuyển dụng lập trình python lương cao

8. 1. Cài đặt Beautifulsoup

Bạn có thể tham khảo hướng dẫn cách cài đặt tại trang web  http. //www. vụn vặt. com/software/BeautifulSoup/bs4/doc/#installing-bean-soup c . Trên MacOS, có thể cài đặt bằng

sudo pip install lxml
6 như sau.

$ sudo pip install beautifulsoup4

8. 2. Cài đặt trình phân tích cú pháp
sudo pip install lxml
7

Để phân tích cú pháp

sudo pip install lxml
8 từ beautifulsoup, tao sử dụng bộ phân tích cú pháp xml có tên là
sudo pip install lxml
7. Xem hướng dẫn cài đặt tại https. //www. vụn vặt. com/software/BeautifulSoup/bs4/doc/#installing-a-parser

Trên MacOS, có thể cài đặt bằng

sudo pip install lxml
6 như sau

sudo pip install lxml

8. 3. Ví dụ về phân tích cú pháp XML

Cho ví dụ sau

from bs4 import BeautifulSoup as Soup

note = '''
 

     
          Belgian Waffles
          $5.95
          Two of our famous Belgian Waff les with plenty of real maple syrup
          650
     
     
          Strawberry Belgian Waffles
          $7.95
          Light Belgian waffles covered with strawberries and whipped cream
          900
     


'''

soup = Soup[note, 'xml']
foods = soup.findAll['food']

for x in foods:
print x.find['name'].string, ': ', x.price.string

Khi chạy thì sẽ hiển thị màn hình như sau

Belgian Waffles : $5.95
Strawberry Belgian Waffles : $7.95

Đối tượng thuộc

sudo pip install lxml
0 Soup [BeautifulSoup] sẽ giúp truy xuất các thành phần của tệp xml nhanh chóng và thuận tiện.

Trong ví dụ có một số cách truy xuất đến các phần tử như

  • sudo pip install lxml
    1
    . Trả về các mảng thẻ có tên cần tìm
  • sudo pip install lxml
    2. Return to the first element has an name to find
  • Truy xuất trực tiếp thông qua tên thẻ như
    sudo pip install lxml
    3

8. 4. Phân tích cú pháp HTML

Tương tự như

sudo pip install lxml
8 , BeautifulSoup có thể phân tích nội dung HTML thông qua khởi tạo hàm và chọn
sudo pip install lxml
5 ở tham số thứ 2

Trong bài viết này, chúng ta sẽ xem cách trích xuất thông tin có cấu trúc từ các trang web bằng cách sử dụng bộ chọn BeautifulSoup và CSS

Lấy HTML

BeautifulSoup không phải là một thư viện quét web. Nó là một thư viện cho phép bạn lấy thông tin từ HTML một cách hiệu quả và dễ dàng. Trong thế giới thực, nó thường được sử dụng cho các dự án quét web

Vì vậy, để bắt đầu, chúng ta cần một tài liệu HTML. Với mục đích đó, chúng tôi sẽ sử dụng gói Yêu cầu của Python và tìm nạp trang chính của HackerNews

import requests
response = requests.get["//news.ycombinator.com/"]
if response.status_code != 200:
	print["Error fetching page"]
	exit[]
else:
	content = response.content
print[content]

> b' content="width=device-width, initial-scale=1.0">

Chủ Đề