find() và find_all() với BeautifulSoup

find() và find_all() với BeautifulSoup

BeautifulSoup’s find() và find_all() là hai hàm bạn sẽ có khả năng sử dụng nhiều nhất. Với chúng, bạn có thể
dễ dàng lọc các trang HTML để tìm ra các lists của các tags mong muốn, hay một tag đơn, dựa trên các thuộc
tính khác nhau của chúng.
Hai hàm là cực kì giống nhau, như minh chứng bởi định nghĩa của chúng trong tài liệu hướng dẫn BeautifulSoup:

find_all(tag, attrs, recursive, text, limit, **kwargs)
find(tag, attrs, recursive, text, **kwargs)

Trong tất cả khả năng, 95% mọi lần bạn sẽ cần sử dụng chỉ hai đối số đầu tiên: tag và attrs. Tuy nhiên, hãy nhìn
vào các tham số chi tiết hơn.
Tham số tag là một cái cái bạn đã thấy trước kia; bạn có thể truyền một string name của một tag hay thậm chí một
Python list các string tag names. Ví dụ, cái sau trả về một list tất cả các header tags trong tài liệu:

.find_all([‘h1′,’h2′,’h3′,’h4′,’h5′,’h6’])

Không giống tham số tag, cái có thể hoặc là một string hoặc là một lặp, tham số attrs phải là một Python
dictionary các thuộc tính và giá trị. Nó khớp các tags cái chứa bất cứ một trong những thuộc tính đó. Ví dụ,
hàm sau sẽ trả về cả span tags green và red trong tài liệu HTML:

.find_all(‘span’, {‘class’: [‘green’, ‘red’]})

Chia sẻ