1. Продукти
  2.   HTML
  3.   Python
  4.   Requests-HTML
 
  

Python библиотека за HTML парсиране и уеб скрейпинг

Open Source Python библиотека, която улеснява парсирането на уеб страници, извличането на данни и уеб скрейпинга. Тя позволява разширено HTML парсиране, рендериране на JavaScript и др.

Уебът е океан от информация и като софтуерни разработчици често се озоваваме в ситуация, в която трябва да извличаме конкретни данни от уебсайтове. Уеб скрейпингът е мощна техника, която ни позволява да автоматизираме процеса на събиране на данни от уеб страници. Сред множеството налични библиотеки, Requests-HTML се откроява като гъвкава и удобна за потребителя опция. Това е Python библиотека, която позволява уеб скрейпинг чрез комбиниране на силата на две популярни библиотеки – Requests и BeautifulSoup. Тя е проектирана с мисъл за простота и лесна употреба, което я прави отличен избор както за начинаещи, така и за опитни разработчици.

Библиотеката Requests-HTML предоставя интуитивен API, който е проектиран да се усеща подобно на добре познатата библиотека Requests, което я прави лесна за усвояване от всеки, запознат с HTTP заявки. В библиотеката има няколко важни функции, като например парсиране на големи HTML файлове, поддръжка на CSS селектори, поддръжка на XPath селектори, имитиран потребителски агент, автоматично следване на пренасочвания, извличане на списък с всички връзки на страницата, извличане на текстовото съдържание на елемент, търсене на връзки в елемент, поддържане на постоянство на сесията, лесно въртене на потребителски агент и много други.

За разлика от традиционните HTML парсъри, Requests-HTML може да рендерира JavaScript съдържание, което го прави подходящ за уебсайтове, които зареждат данни динамично чрез AJAX или JavaScript рамки. Неговият интуитивен API, поддръжката за рендериране на JavaScript и гъвкавото избиране на елементи с помощта на CSS селектори или XPath го правят ценен инструмент за всеки уеб скрейпинг проект. Независимо дали събирате данни за изследване или създавате уеб приложение, библиотеката Requests-HTML определено заслужава внимание. Така че, защо да не я изпробвате в следващия си уеб скрейпинг проект? Приятно кодиране!

Previous Next

Започване с Requests-HTML

Препоръчителният и най-лесен начин за инсталиране на Requests-HTML е чрез pip. Моля, използвайте следната команда за гладка инсталация.

Инсталиране на Requests-HTML чрез pip

pip install requests-html

Можете също да го инсталирате ръчно; изтеглете последните файлове за издание директно от GitHub хранилището.

Извличане на съдържание от HTML страница чрез Python

Отворената библиотека Requests-HTML позволява на софтуерните разработчици да зареждат и извличат съдържание от HTML файл в Python приложения. Една от основните функции, която отличава библиотеката, е безпроблемната интеграция с PyQuery. Тази интеграция позволява на библиотеката лесно да парсира HTML документи и да извлича данни, използвайки селектори, подобни на jQuery. Тази гъвкавост опростява извличането на данни и спестява време и усилия на разработчиците. Следващите примери показват как софтуерните разработчици могат да извлекат заглавията и връзките на уеб страница само с няколко реда Python код.

Как да извлечете заглавията и връзките на уеб страница чрез Python API?

from requests_html import HTMLSession

url = 'https://www.example-blog.com'
session = HTMLSession()
response = session.get(url)

# Render JavaScript to ensure dynamic content loads
response.html.render()

# Extract titles and links of the latest articles
articles = response.html.find('.article')

for article in articles:
    title = article.find('.title', first=True).text
    link = article.find('a', first=True).attrs['href']
    print(f"Title: {title}\nLink: {link}\n")

Парсиране на уеб страница и извличане на конкретен елемент чрез Python

Отворената библиотека Requests-HTML предоставя много полезна функция за извличане на конкретен елемент в HTML документ чрез Python API. Библиотеката поддържа както CSS селектори, така и XPath изрази, като ви дава гъвкавост при избора и извличането на конкретни елементи от HTML страницата. Библиотеката също така поддържа използването на XPath изрази за по-сложен избор на елементи. Освен това библиотеката осигурява пълна поддръжка за взаимодействие с уеб форми. Следващият пример показва колко лесно е да се изтегли уеб страница, използвайки библиотеката Requests-HTML.

Как да извлечете конкретен елемент от HTMP страница чрез Python библиотека?

from requests_html import HTMLSession

# Create an HTML session
session = HTMLSession()

# Send a GET request and render JavaScript (if any)
response = session.get('https://example.com')

# Access page content
html_content = response.text

# Extract specific elements using CSS selectors
titles = response.html.find('.article-title')

# Print the titles
for title in titles:
    print(title.text)

 Български