Nhập dữ liệu HTML bằng Python

thư viện được gọi là beautifulsoup. Sử dụng thư viện này, chúng tôi có thể tìm kiếm các giá trị của thẻ html và nhận dữ liệu cụ thể như tiêu đề của trang và danh sách các tiêu đề trong trang

Cài đặt BeautifulSoup

Sử dụng trình quản lý gói Anaconda để cài đặt gói cần thiết và các gói phụ thuộc của nó

conda install Beaustifulsoap

Đọc tệp HTML

Trong ví dụ dưới đây, chúng tôi yêu cầu một url được tải vào môi trường python. Sau đó sử dụng tham số trình phân tích cú pháp html để đọc toàn bộ tệp html. Tiếp theo, chúng tôi in một vài dòng đầu tiên của trang html

Phân tích cú pháp có nghĩa là chia tệp hoặc đầu vào thành các phần thông tin/dữ liệu có thể được lưu trữ cho mục đích sử dụng cá nhân của chúng tôi trong tương lai. Đôi khi, chúng tôi cần dữ liệu từ một tệp hiện có được lưu trữ trên máy tính của mình, kỹ thuật phân tích cú pháp có thể được sử dụng trong những trường hợp như vậy. Phân tích cú pháp bao gồm nhiều kỹ thuật được sử dụng để trích xuất dữ liệu từ một tệp. Những điều sau đây bao gồm Sửa đổi tệp, Xóa thứ gì đó khỏi tệp, In dữ liệu, sử dụng phương pháp tạo con đệ quy để duyệt qua dữ liệu từ tệp, tìm con của thẻ, quét web từ liên kết để trích xuất thông tin hữu ích, v.v.

Sửa đổi tập tin

Sử dụng phương pháp làm đẹp để sửa đổi mã HTML từ- https. // lễ hội-knuth-1279a2. netlify. ứng dụng/, trông đẹp hơn. Prettify làm cho mã trông ở dạng tiêu chuẩn giống như mã được sử dụng trong Mã VS

Thí dụ

Python3




# Importing BeautifulSoup class from the bs4 module

from bs4import BeautifulSoup

 

# Importing the HTTP library

import requests as req

 

from0

from1from2 from3from4from5

 

from7

from8from2 bs40bs41from5

 

bs44

bs45bs46

đầu ra

Nhập dữ liệu HTML bằng Python
Nhập dữ liệu HTML bằng Python

Xóa thẻ

Có thể xóa thẻ bằng cách sử dụng phương thức phân tách và phương thức select_one với bộ chọn CSS để chọn và sau đó xóa phần tử thứ hai khỏi thẻ li, sau đó sử dụng phương thức prettify để sửa đổi mã HTML khỏi chỉ mục. tệp html

Thí dụ

Tệp được sử dụng

Nhập dữ liệu HTML bằng Python

Python3




# Importing BeautifulSoup class from the bs4 module

from bs4import BeautifulSoup

 

import3

import4from2 import6import7import8import9BeautifulSoup0from5

 

BeautifulSoup3

BeautifulSoup4from2 BeautifulSoup6

 

from7

from8from2  1______31from5

 

 5

 6from2  8 9from5

 

# Importing the HTTP library2

# Importing the HTTP library3

 

# Importing the HTTP library5

bs45# Importing the HTTP library7

đầu ra

Nhập dữ liệu HTML bằng Python
Nhập dữ liệu HTML bằng Python

Tìm thẻ

Thẻ có thể được tìm thấy bình thường và được in bình thường bằng print()

Thí dụ

Python3




# Importing BeautifulSoup class from the bs4 module

from bs4import BeautifulSoup

 

import3

import4from2 import6import7import8import9BeautifulSoup0from5

 

BeautifulSoup3

BeautifulSoup4from2 BeautifulSoup6

 

from7

 0from2  1bs41from5

 

 6

bs45 8

bs45from00

bs45from02

bs45from04

bs45from06

đầu ra

Nhập dữ liệu HTML bằng Python

Thẻ duyệt

Phương thức recursiveChildGenerator được sử dụng để duyệt qua các thẻ, tìm theo cách đệ quy tất cả các thẻ trong các thẻ từ tệp

Thí dụ

Python3




# Importing BeautifulSoup class from the bs4 module

from bs4import BeautifulSoup

 

import3

import4from2 import6import7import8import9BeautifulSoup0from5

 

BeautifulSoup3

BeautifulSoup4from2 BeautifulSoup6

 

from7

from8from2  1______31from5

 

from35

from36 from37from38 from39

from40from41

________ 242 ________ 243 ________ 244

________ 245 ________ 246

from47____35____249

đầu ra

Nhập dữ liệu HTML bằng Python

Phân tích thuộc tính tên và văn bản của thẻ

Sử dụng thuộc tính tên của thẻ để in tên của nó và thuộc tính văn bản để in văn bản của nó cùng với mã của thẻ- ul từ tệp

Thí dụ

Python3




# Importing BeautifulSoup class from the bs4 module

from bs4import BeautifulSoup

 

import3

import4from2 import6import7import8import9BeautifulSoup0from5

 

BeautifulSoup3

BeautifulSoup4from2 BeautifulSoup6

 

from7

from8from2  1______31from5

 

from78

bs45from80from81from5

đầu ra

Nhập dữ liệu HTML bằng Python

Tìm phần tử con của thẻ

Thuộc tính Children được sử dụng để lấy phần tử con của thẻ. Thuộc tính Children trả về 'các thẻ có khoảng cách' giữa chúng, chúng tôi đang thêm một điều kiện- e. tên không phải là Không để chỉ in tên của các thẻ từ tệp

Thí dụ

Python3




# Importing BeautifulSoup class from the bs4 module

from bs4import BeautifulSoup

 

import3

import4from2 import6import7import8import9BeautifulSoup0from5

 

BeautifulSoup3

BeautifulSoup4from2 BeautifulSoup6

 

from7

from8from2  1______31from5

 

bs411

bs412from2 bs414

 

bs416

bs417

bs418from2 bs420from36 bs422from38 bs424from43 bs426bs427 bs428 bs429bs430

 

bs432

bs45bs434

đầu ra

Nhập dữ liệu HTML bằng Python

Tìm trẻ em ở tất cả các cấp của thẻ

Thuộc tính Hậu duệ được sử dụng để lấy tất cả các hậu duệ (Trẻ em ở mọi cấp độ) của một thẻ từ tệp

Thí dụ

Python3




# Importing BeautifulSoup class from the bs4 module

from bs4import BeautifulSoup

 

import3

import4from2 import6import7import8import9BeautifulSoup0from5

 

BeautifulSoup3

BeautifulSoup4from2 BeautifulSoup6

 

from7

from8from2  1______31from5

 

bs411

bs464____22 bs466

 

bs468

bs418from2 bs420from36 bs422from38 bs475from43 bs426bs427 bs428 bs429bs430

 

bs432

bs45bs434

đầu ra

Nhập dữ liệu HTML bằng Python

Tìm tất cả các yếu tố của thẻ

Sử dụng find_all()

Phương thức find_all được sử dụng để tìm tất cả các phần tử (tên và văn bản) bên trong thẻ p từ tệp

Thí dụ

Python3




# Importing BeautifulSoup class from the bs4 module

from bs4import BeautifulSoup

 

import3

import4from2 import6import7import8import9BeautifulSoup0from5

 

BeautifulSoup3

BeautifulSoup4from2 BeautifulSoup6

 

from7

from8from2  1______31from5

 

import14

from36 import16from38 import18import19import20

 

from40import23

from42bs45____280import27from5

đầu ra

Nhập dữ liệu HTML bằng Python

Bộ chọn CSS để tìm các phần tử.  

Sử dụng phương thức select để sử dụng bộ chọn CSS để tìm phần tử thứ hai từ thẻ li từ tệp

Chúng tôi có thể nhập tệp HTML bằng Python không?

Python có một thư viện tên là pandas. Gấu trúc có chức năng gọi là “read_html” chức năng này về cơ bản là chức năng mà chúng ta sẽ thảo luận sâu hơn. “read_html” được sử dụng khi tệp hoặc liên kết hoặc nội dung ở định dạng HTML.

Làm cách nào để chuyển dữ liệu từ tệp HTML sang tệp Python?

Bạn có thể truyền thông tin đơn giản bằng cách ghép các cặp khóa và giá trị cùng với bất kỳ URL nào hoặc bạn có thể sử dụng các thẻ HTML