Healthline.com — один из лучших сайтов о здоровье и благополучии с подробными статьями, советами и идеями от экспертов. От списков статей до подробных руководств, он содержит контент для многих вариантов использования. Независимо от того, проводите ли вы исследования, создаете базу данных о здоровье или анализируете тенденции в области благополучия, сбор данных с Healthline может быть очень полезным.

Но парсинг динамического веб-сайта, такого как healthline.com, непрост. Сайт использует JavaScript для рендеринга своих страниц, поэтому традиционные методы парсинга веб-сайтов не сработают. Вот где Crawlbase Crawling API приходит дюйма Crawlbase легко обрабатывает контент, отображаемый JavaScript, что упрощает весь процесс извлечения данных.

В этом блоге мы расскажем, почему вам может понадобиться парсинг Healthline.com, на какие ключевые точки данных следует ориентироваться, как это сделать с помощью Crawlbase Crawling API с Python и как сохранить извлеченные данные в CSV-файле. Давайте начнем!

Оглавление

  1. Почему стоит использовать Scrape Healthline.com?
  2. Ключевые данные для извлечения из Healthline.com
  3. Crawlbase Crawling API для Healthline.com Соскоб
  • Зачем использовать Crawlbase Crawling API
  • Crawlbase Библиотека Python
  1. Настройка среды Python
  • Установка Python и необходимых библиотек
  • Выбор IDE
  1. Скрапинг списков статей Healthline.com
  • Проверка структуры HTML
  • Написание листинга Healthline.com Scraper
  • Хранение данных в CSV-файле
  • Полный код
  1. Соскоб страницы статьи Healthline.com
  • Проверка структуры HTML
  • Написание страницы статьи Healthline.com
  • Хранение данных в CSV-файле
  • Полный код
  1. Заключение
  2. FAQ

Почему стоит использовать Scrape Healthline.com?

Healthline.com — это надежный сайт о здоровье, благополучии и медицинской информации с миллионами посетителей каждый месяц. Их контент тщательно исследован, удобен для пользователя и охватывает широкий спектр тем от питания и фитнеса до управления заболеваниями и психического здоровья. Так что если вам нужно собрать данные, связанные со здоровьем.

Вот почему вам стоит воспользоваться Healthline:

  • Создание баз данных по здравоохранению: Если вы создаете сайт о здоровье и благополучии, вы можете извлечь структурированные данные из Healthline, заголовки статей, резюме и ключевые моменты.
  • Анализ тенденций: просматривайте статьи Healthline, чтобы узнать, что сейчас в тренде, что нового и чем интересуются пользователи.
  • Исследовательские проекты: Студенты, аналитики данных и исследователи могут использовать данные Healthline для исследований или проектов в области здравоохранения, фитнеса или медицинских достижений.
  • Контентность контента: Блогеры, пишущие о здоровье, или разработчики приложений для здорового образа жизни могут получить здесь вдохновение или ссылки для своего контента.

Ключевые данные для извлечения из healthline.com

При анализе healthline.com обратите внимание на следующие ценные данные:

Изображение ключевых точек данных для извлечения из Healthline.com

Сбор всей этой информации дает вам полную картину содержимого веб-сайта, что очень полезно для исследовательских или медицинских проектов. В следующем разделе объясняется, как Crawlbase Crawling API упрощает сбор этих данных.

Crawlbase Crawling API для healthline.com Соскоб

Скрапинг healthline.com требует обработки отображаемого JavaScript-контента, что может быть сложным. Crawlbase Crawling API позаботится о рендеринге JavaScript, прокси и других технических вопросах.

Зачем использовать Crawlbase Crawling API?

The Crawlbase Crawling API идеально подходит для парсинга healthline.com, потому что:

  • Обрабатывает рендеринг JavaScript: Для динамических веб-сайтов, таких как healthline.com.
  • Автоматическая ротация прокси: Предотвращает блокировку IP-адресов путем ротации прокси-серверов.
  • Обработка ошибок: Обрабатывает CAPTCHA и ограничения веб-сайтов.
  • Простая интеграция с Python: Легко с Crawlbase Библиотека Python.
  • Попробуйте!: Предлагает 1,000 бесплатных запросов для легкого старта.

Crawlbase Библиотека Python

Crawlbase также есть библиотека Python, чтобы упростить интеграцию API в ваши проекты. Вам понадобится токен доступа, который доступен после регистрацией. Следуйте этому примеру, чтобы отправить запрос Crawlbase Crawling API:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
от база сканирования Импортировать CrawlingAPI

# Инициализация Crawlbase API с вашим токеном доступа
crawling_api = CrawlingAPI({токен: 'ВАШ_ТОКЕН_БАЗЫ_КРАНА'})

защиту make_crawlbase_request(URL):
ответ = crawling_api.get(url)

if ответ["заголовки"]['статус_ПК'] == '200':
html_content = ответ['тело'].decode('utf-8')
возвращают html_контент
еще:
Распечатать(f"Не удалось загрузить страницу. Crawlbase код статуса: {ответ["заголовки"]['статус_ПК']}")
возвращают Ничто

Ключевые примечания:

  • Используйте токен JavaScript (JS) для извлечения динамического контента.
  • Crawlbase поддерживает статический и динамический сбор контента с помощью выделенных токенов.
  • С помощью библиотеки Python вы можете собирать и извлекать данные, не беспокоясь о рендеринге JavaScript или прокси-серверах.

Теперь давайте начнем с настройки среды Python для сбора данных с сайта healthline.com.

Настройка среды Python

Прежде чем начать скрейпинг healthline.com, вам нужно настроить среду Python. Этот шаг гарантирует, что у вас есть все инструменты и библиотеки, необходимые для запуска вашего скрейпера.

1. Установка Python и необходимых библиотек

Загрузите и установите Python с официальный сайт PythonПосле установки Python вы можете использовать pip, менеджер пакетов Python, для установки библиотек:

1
pip install crawlbase beautifulsoup4 панды
  • Crawlbase: Управляет взаимодействием с Crawlbase Crawling API.
  • КрасивыйСуп: Для анализа HTML и извлечения необходимых данных.
  • Панды: Помогает структурировать и хранить извлеченные данные в файлах CSV или других форматах.

2. Выберите IDE

Интегрированная среда разработки (IDE) делает кодирование более эффективным. Популярные варианты включают:

  • PyCharm: Мощный инструмент с функциями отладки и управления проектами.
  • Visual Studio Code: Легкий и удобный для новичков, с большим количеством расширений.
  • Jupyter Notebook: Идеально подходит для тестирования и запуска небольших скриптов в интерактивном режиме.

3. Создайте новый проект

Настройте папку проекта и создайте файл Python, в котором вы напишете свой скрипт-скрейпер. Например:

1
2
3
MkDir healthline_scraper
cd healthline_scraper
трогать скребок.py

Как только ваша среда будет готова, вы сможете начать создавать свой скрапер для healthline.com. В следующих разделах мы шаг за шагом разберем написание скрапера для страниц со списками и страниц статей.

Скрапинг списков статей Healthline.com

Чтобы извлечь списки статей с healthline.com, мы будем использовать Crawlbase Crawling API для динамического рендеринга JavaScript. Давайте разберем это шаг за шагом, с профессиональными, но простыми для понимания примерами кода.

1. Проверка структуры HTML

Перед написанием кода откройте healthline.com и перейдите на страницу со списком статей. Используйте инструменты разработчика браузера (обычно доступные при нажатии F12) для проверки структуры HTML.

Пример структуры ссылок на статьи:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<DIV класс="css-1hm2gwy">
<DIV>
<a
класс="css-17zb9f8"
данные-событие=«|Глобальный заголовок|Щелчок по результату поиска»
элемент-данных-событие="ВНУТРЕННЯЯ ССЫЛКА|РАЗДЕЛ|Любая страница|РЕЗУЛЬТАТЫ ПОИСКА|ССЫЛКА|/health-news/antacids-increase-migraine-risk|"
HREF="https://www.healthline.com/health-news/antacids-increase-migraine-risk"
>
<пролет класс="ais-Выделение">
<пролет класс="ais-Highlight-nonHighlighted">Антациды связаны с более высоким риском </пролет>
<em класс="ais-Highlight-выделено">мигрень</em>
<пролет класс="ais-Highlight-nonHighlighted">, Сильные головные боли</пролет>
</пролет>
</a>
</DIV>
<DIV класс="css-1evntxy">
<пролет класс="ais-Выделение">
<пролет класс="ais-Highlight-nonHighlighted"
>Новые исследования показывают, что люди, принимающие антациды, могут подвергаться большему риску
</пролет>
<em класс="ais-Highlight-выделено">мигрень</em>
<пролет класс="ais-Highlight-nonHighlighted"> приступы и сильные головные боли.</пролет>
</пролет>
</DIV>
</DIV>

Определите такие элементы, как:

  • Названия статей: Найдено в a тег с классом css-17zb9f8.
  • Ссылки: Нашел в href атрибут а tag.
  • Описание: Найдено в div элемент с классом css-1evntxy.

2. Написание инструмента для сбора листинга Healthline.com

Мы будем использовать Crawlbase Crawling API для извлечения содержимого страницы и BeautifulSoup для его анализа. Мы будем использовать ajax_wait и page_wait параметры предоставлены Crawlbase Crawling API для обработки JS-контента. Вы можете прочитать об этих параметрах здесь.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
от база сканирования Импортировать CrawlingAPI
от bs4 Импортировать КрасивыйСуп

# Инициализация Crawlbase Crawling API
crawling_api = CrawlingAPI({токен: 'CRAWLBASE_JS_TOKEN'})

варианты = {
'ajax_wait': 'правда',
'page_wait': '5000'
}

защиту scrape_article_listings(URL):
ответ = crawling_api.get(url, параметры)

if ответ["заголовки"]['статус_ПК'] == '200':
html_content = ответ['тело'].decode('utf-8')
суп = КрасивыйСуп(html_content, 'html.парсер')

статьи = []
для пункт in суп.найти_все('а', класс_='статья-ссылка'):
article_title = item.text.strip()
ссылка_статьи = "https://www.healthline.com" + элемент['href']
статьи.добавить({'заглавие': название_статьи, 'URL-адрес': ссылка_статьи})

возвращают статьи
еще:
Распечатать(f"Не удалось загрузить страницу: {ответ["заголовки"]['статус_ПК']}")
возвращают []

# Пример использования
URL = "https://www.healthline.com/articles"
списки_статей = scrape_article_listings(url)
Распечатать(статьи_списки)

3. Хранение данных в CSV-файле

Вы можете использовать pandas библиотека для сохранения извлеченных данных в CSV-файл для легкого доступа.

1
2
3
4
5
6
Импортировать панд as pd

защиту сохранить_в_csv(данные, имя файла):
df = pd.DataFrame (данные)
df.to_csv(имя_файла, индекс=Ложь)
Распечатать(f"Данные сохранены в {имя файла}")

4. Полный код

Объединив все это, получаем полный скрапер:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
от база сканирования Импортировать CrawlingAPI
от bs4 Импортировать КрасивыйСуп
Импортировать панд as pd

# Инициализация Crawlbase Crawling API
crawling_api = CrawlingAPI({токен: 'ВАШ_ТОКЕН_БАЗЫ_КРАНА'})

варианты = {
'ajax_wait': 'правда',
'page_wait': '5000'
}

защиту scrape_article_listings(URL):
ответ = crawling_api.get(url, параметры)
if ответ["заголовки"]['статус_ПК'] == '200':
html_content = ответ['тело'].decode('utf-8')
суп = КрасивыйСуп(html_content, 'html.парсер')
статьи = []
для пункт in суп.найти_все('а', класс_='статья-ссылка'):
article_title = item.text.strip()
ссылка_статьи = "https://www.healthline.com" + элемент['href']
статьи.добавить({'заглавие': название_статьи, 'URL-адрес': ссылка_статьи})
возвращают статьи
еще:
Распечатать(f"Не удалось загрузить страницу: {ответ["заголовки"]['статус_ПК']}")
возвращают []

защиту сохранить_в_csv(данные, имя файла):
df = pd.DataFrame (данные)
df.to_csv(имя_файла, индекс=Ложь)
Распечатать(f"Данные сохранены в {имя файла}")

# Пример использования
URL = "https://www.healthline.com/search?q1=мигрень"
статьи = scrape_article_listings(start_url)
сохранить_в_csv(статьи, 'healthline_articles.csv')

healthline_articles.csv Снимок:

healthline_articles.csv Снимок

Соскоб страницы статьи Healthline.com

После сбора списка статей следующим шагом будет извлечение данных из отдельных страниц статей. Каждая страница статьи обычно содержит подробный контент, такой как заголовок, дата публикации и основной текст. Вот как эффективно извлечь эти данные с помощью Crawlbase Crawling API и Python.

1. Проверка структуры HTML

Откройте страницу статьи с healthline.com в своем браузере и проверьте исходный код страницы с помощью инструментов разработчика (F12).

Осмотр страницы статей Healthline

Искать:

  • Название: Нашел в <h1> тег с классом css-6jxmuv.
  • Автор: Найдено в div с атрибутом data-testid="byline".
  • Содержание тела: Нашел в article тег с классом article-body.

2. Написание статьи Healthline.com Scraper

Мы получим HTML-код статьи с помощью Crawlbase Crawling API и извлечь нужную информацию с помощью BeautifulSoup.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
от база сканирования Импортировать CrawlingAPI
от bs4 Импортировать КрасивыйСуп

# Инициализация Crawlbase Crawling API
crawling_api = CrawlingAPI({токен: 'CRAWLBASE_JS_TOKEN'})

варианты = {
'ajax_wait': 'правда',
'page_wait': '5000'
}

защиту очистить_страницу_статьи(URL):
ответ = crawling_api.get(url, параметры)
if ответ["заголовки"]['статус_ПК'] == '200':
html_content = ответ['тело'].decode('utf-8')
суп = КрасивыйСуп(html_content, 'html.парсер')

# Извлечение деталей
заголовок = суп.найти('h1', класс_='название-статьи').текст.полоска()
подпись = суп.найти('время').получать('дата-время', '').полоска()
содержание = ''.join([p.text.strip() для p in суп.найти_все('п')])

возвращают {
'URL-адрес': URL-адрес,
'заглавие': заголовок,
'подпись автора': подпись автора,
'содержание': содержание
}
еще:
Распечатать(f"Не удалось загрузить страницу: {ответ["заголовки"]['статус_ПК']}")
возвращают Ничто

# Пример использования
ссылка_статьи = "https://www.healthline.com/articles/understanding-diabetes"
article_details = scrape_article_page(article_url)
Распечатать(подробности_статьи)

3. Хранение данных в CSV-файле

После очистки нескольких страниц статей сохраните извлеченные данные в CSV-файл, используя pandas.

4. Полный код

Вот комбинированный код для извлечения нескольких статей и сохранения их в CSV-файл:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
от база сканирования Импортировать CrawlingAPI
от bs4 Импортировать Красивый суп:
Импортировать панд as pd

# Инициализация Crawlbase Crawling API
crawling_api = CrawlingAPI({токен: 'ВАШ_ТОКЕН_БАЗЫ_КРАНА'})

защиту очистить_страницу_статьи(URL):
ответ = crawling_api.get(url)
if ответ["заголовки"]['статус_ПК'] == '200':
html_content = ответ['тело'].decode('utf-8')
суп = КрасивыйСуп(html_content, 'html.парсер')

# Извлечение деталей
заголовок = суп.найти('h1', класс_='название-статьи').текст.полоска()
подпись = суп.найти('время').получать('дата-время', '').полоска()
содержание = ''.join([p.text.strip() для p in суп.найти_все('п')])

возвращают {
'URL-адрес': URL-адрес,
'заглавие': заголовок,
'подпись автора': подпись автора,
'содержание': содержание
}
еще:
Распечатать(f"Не удалось загрузить страницу: {ответ["заголовки"]['статус_ПК']}")
возвращают Ничто

защиту сохранить_данные_статьи_в_csv(данные, имя файла):
df = pd.DataFrame (данные)
df.to_csv(имя_файла, индекс=Ложь)
Распечатать(f"Данные сохранены в {имя файла}")

# Пример использования
URL-адреса_статей = [
"https://www.healthline.com/health-news/antacids-increase-migraine-risk",
"https://www.healthline.com/health/migraine/что-спросить-у-врача-о-мигрении"
]

articles_data = [scrape_article_page(url) для URL in ссылки_статьи if очистка_страницы_статьи(url)]
сохранить_данные_статьи_в_csv(данные_статьй, 'healthline_articles_details.csv')

healthline_articles_details.csv Снимок:

healthline_articles_details.csv Снимок

Заключение

Скрапинг healthline.com может раскрыть ценную информацию, извлекая контент, связанный со здоровьем, для исследования, анализа или разработки приложений. Использование таких инструментов, как Crawlbase Crawling API делает этот процесс проще, даже для веб-сайтов с рендерингом JavaScript. С пошаговым руководством, представленным в этом блоге, вы можете уверенно извлекать списки статей и подробные страницы, справляясь с такими сложностями, как разбивка на страницы и структурированное хранение данных.

Всегда помните, что использовать данные следует ответственно, и гарантируйте, что ваши действия по парсингу соответствуют юридическим и этическим нормам, включая условия обслуживания веб-сайта. Если вы хотите больше заниматься парсингом веб-сайтов, ознакомьтесь с нашими руководствами по парсингу других ключевых веб-сайтов.

📜 Как скопировать Monster.com
📜 Как скрейпить Groupon
📜 Как парсить TechCrunch
📜 Как скопировать страницы твитов X.com
📜 Как очистить Clutch.co

Если у вас есть вопросы или вы хотите оставить отзыв, команда поддержки может помочь с веб-скрапингом. Счастливого скрапинга!

FAQ

Извлечение данных с любого веб-сайта, включая healthline.com, зависит от условий обслуживания веб-сайта и применимых законов в вашем регионе. Всегда проверяйте условия и положения сайта перед извлечением данных. Для этичного извлечения данных убедитесь, что ваши действия не перегружают сервер, и избегайте использования данных в целях, нарушающих правовые или этические принципы.

В. С какими трудностями я могу столкнуться при парсинге healthline.com?

Healthline.com использует JavaScript для динамического отображения контента, что означает, что контент может быть не сразу доступен в исходном HTML-коде. Кроме того, вы можете столкнуться с механизмами ограничения скорости или антискрейпинга. Такие инструменты, как Crawlbase Crawling API помочь вам преодолеть эти проблемы с помощью таких функций, как рендеринг JavaScript и ротация прокси.

В. Могу ли я использовать тот же метод для парсинга других похожих сайтов?

Да, методы и инструменты, описанные в этом блоге, можно адаптировать для парсинга других сайтов с большим количеством JavaScript. Используя Crawlbase Crawling API и проверив HTML-структуру целевого веб-сайта, вы можете настроить свой парсер для эффективного сбора данных с похожих платформ.