2012-01-30 44 views
16

Tôi cần điều hướng đến phần tử html của một loại cụ thể. Tuy nhiên, có nhiều yếu tố như vậy thuộc loại đó trên trang, với nhiều lớp khác nhau.Phần tử trích xuất không có thuộc tính lớp học

Tôi cần một trong đó không có bất kỳ thuộc tính lớp học nào.

Tôi có nên tìm một số với class == '' hoặc có cách nào khác không?

+2

bạn có thể sử dụng class = Không? – user557862

Trả lời

29

Sử dụng

soup.findAll(attrs={'class': None}) 

Trích dẫn từ tài liệu:

Bạn có thể sử dụng attrs nếu bạn cần phải đặt hạn chế đối với các thuộc tính có tên Python từ dành riêng, giống như lớp, cho, hoặc nhập khẩu; hoặc các thuộc tính có tên là các đối số không phải từ khóa cho các phương thức tìm kiếm của Beautiful Soup: tên, đệ quy, giới hạn, văn bản hoặc attrs.

3

Kể từ Beautiful Soup version 4.1.2, bạn có thể sử dụng class_ keyword argument.

Để chọn một yếu tố mà không có một thuộc tính lớp, bạn chỉ có thể xác định None:

soup.find_all(class_=None) 

Ngoài ra, quy định cụ thể False cũng làm việc:

soup.find_all(class_=False) 
Các vấn đề liên quan