Я вроде как новичок, но я нашел BeautifulSoup 4
действительно хорошим, и я изучаю его и использую его с модулями requests
и lxml
.Модуль запросов предназначен для получения URL и lxml (также вы можете использовать встроенный html.parser
для анализа, но, наверное, lxml
быстрее) для анализа.
Простое использование:
import requests
from bs4 import BeautifulSoup
url = 'someUrl'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'lxml')
Непростой пример того, как получить href из html:
links = set()
for link in soup.find_all('a'):
if 'href' in link.attrs:
links.add(link)
Тогда вы получите set
с уникальными ссылкамииз вашего URL.
Другой пример, как вы можете анализировать определенные части HTML, например, если вы хотите проанализировать все <p>
теги, которые имеют класс testClass
:
list_of_p = []
for p in soup.find_all('p', {'class': 'testClass'}):
for item in p:
list_of_p.append(item)
и многое другое вы можете сделать с ним так просто, как кажется.