Holidify: Лучшие туристические направления для каждого штата в Индии - Проект по веб-парсингу
Table Of Content
- Описание
- Эксперименты с библиотекой Python - BeautifulSoup
- 1. Установка необходимых библиотек
- 2. Функция для получения объекта документа Beautiful Soup
- 3. Функция для получения списка государств
- 4. Функция для получения количества мест (количество популярных туристических мест) в каждом государстве
- 5. Функция для получения названия каждого места
- 6. Функция для получения ранга каждого места внутри государства, количества достопримечательностей, если они доступны на сайте, и названия государства
- 7. Функция для получения лучшего времени для посещения каждого места
- 8. Функция для получения ссылок на пакетные предложения
- 9. Функция для получения ссылок на дополнительные детали
- 10. Объединение списков
- 11. Функция для получения атрибутов для каждого места по государству
- 12. Создание функции для возврата словаря и DataFrame
- 13. Последовательный вызов функций для возврата DataFrame
- 14. Запись в CSV
- 15. Чтение из CSV в DataFrame
- Summary
- Future Work
- References
Holidify.com - это веб-сайт, который предоставляет информацию о лучших туристических направлениях в каждой стране. Кроме того, он также позволяет получить дополнительную информацию о главных туристических достопримечательностях в каждом туристическом направлении и различные пакеты, которые он предлагает путешественникам. https://www.holidify.com/
Нас интересует узнать, какие туристические направления являются лучшими в каждом штате Индии и создать базу данных этих мест вместе со ссылками на страницы этих мест, которые предоставляют более подробную информацию о них, а также ссылки на пакеты, которые сайт предлагает путешественникам для каждого направления.
Таким образом, мы собираемся спарсить следующие атрибуты для каждого туристического направления.
##Парсинг Топ-туристических направлений и их атрибутов в каждом штате Индии с веб-сайта Holidify
Цель:
Сначала мы соберем все штаты с википедии, а затем для каждого штата мы получим все топ-туристические направления и другие атрибуты динамически с помощью Python API, таких как Requests и Beautifulsoup
Описание
Название направления Штат направления Ранг в штате Количество туристических достопримечательностей в этом месте Информация о пакете, который предлагает Holidify для этого направления Более подробная информация о направлениях
-
Создание вспомогательных функций для получения объединенных списков
-
Сохранение извлеченных данных в словаре.
-
Сбор всех данных в DataFrame с помощью Pandas и сохранение данных в CSV-файл.
По итогам проекта мы создадим DataFrame в следующем формате:
Шаги, выполненные в проекте:
Шаги, выполненные для получения списка штатов
Шаги, выполненные для получения атрибутов туристических направлений в каждом штате
Эксперименты с библиотекой Python - BeautifulSoup
1. Установка необходимых библиотек
2. Функция для получения объекта документа Beautiful Soup
3. Функция для получения списка государств
4. Функция для получения количества мест (количество популярных туристических мест) в каждом государстве
5. Функция для получения названия каждого места
6. Функция для получения ранга каждого места внутри государства, количества достопримечательностей, если они доступны на сайте, и названия государства
7. Функция для получения лучшего времени для посещения каждого места
8. Функция для получения ссылок на пакетные предложения
9. Функция для получения ссылок на дополнительные детали
10. Объединение списков
11. Функция для получения атрибутов для каждого места по государству
12. Создание функции для возврата словаря и DataFrame
def return_dict_and_dataframe():
# код для создания словаря
dictionary = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
# код для создания DataFrame
import pandas as pd
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9]}
df = pd.DataFrame(data)
return dictionary, df
13. Последовательный вызов функций для возврата DataFrame
def function1():
# код для создания словаря
dictionary = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
return dictionary
def function2(dictionary):
# код для создания DataFrame
import pandas as pd
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9]}
df = pd.DataFrame(data)
return df
dictionary = function1()
df = function2(dictionary)
14. Запись в CSV
df.to_csv('data.csv', index=False)
15. Чтение из CSV в DataFrame
import pandas as pd
df = pd.read_csv('data.csv')
Summary
В этом примере мы рассмотрели создание функций для возврата словаря и DataFrame, последовательный вызов функций для возврата DataFrame, запись DataFrame в CSV файл и чтение данных из CSV файла в DataFrame.
Future Work
В будущем можно расширить функциональность функций, добавить обработку исключений и улучшить обработку данных.
References
[1] Документация Pandas: https://pandas.pydata.org/docs/