Привет, народ,

В этой статье мы будем собирать данные о книгах (название, цена) с amazon. Amazon кодирует имена своих HTML-тегов, но мы будем использовать статические.

Заставьте себя и закончите эти разделы кода.

Пойдем!

Шаг 1: Библиотека

Пип установить BeautifulSoup4

pip установить облачный скребок

пип установить панды

CloudScraper: мы будем очищать веб-сайт с помощью этой библиотеки и получать HTML в виде текста.

BeautifulSoup4: и парсинг нашего текста с помощью BS4.

Pandas: может быть, вы хотите извлечь свои данные в excel, csv и т. д.

Шаг 2: Инициализация

URL страницы с книгами: https://www.amazon.com/gp/bestsellers/books/468204?ref_=Oct_d_obs_S&pd_rd_w=U7n8R&pf_rd_p=9aa64228-a828-4242-9935-e693c0cc3357&pf_rd_r=H1CMSKC4J6AM3 K6D2WWH&pd_rd_r=842725d8-a360-4c73-bb92- aff14c5d0add&pd_rd_wg=pX4ql

Мы должны определить наш браузер, платформу, рабочий стол или нет. Если мы этого не сделаем, сайт может быть заблокирован. Cloudscraper хорош тем, что иногда вы не можете пройти DDoS-системы, как CloudFlare. Но свяжитесь со мной, если вы получите какую-либо ошибку;)

Шаг 3: Соскребите!

18: Мы получаем HTML-страницу в виде текста

21: Разбираем наш текст и теперь готов к фильтрации.

24: Вам нужно найти первый div или любой раздел, содержащий ваши данные. В браузере вы можете щелкнуть правой кнопкой мыши свои данные на веб-сайте и нажать «Проверить». Таким образом, вы можете легко найти свои данные в океане HTML.

27: Найдите теги первой книги, чтобы вы могли перебрать все. find_all может найти все книги, если они имеют одинаковые теги.

Если вы зашли так далеко, вы можете распечатать переменную «книги» и просмотреть информацию о книгах в виде HTML.

Шаг 4: Получите ссылки на книги!

Каждый веб-сайт отличается. Лучший способ получить информацию о продуктах, получить ссылку на продукты —> посетить ссылку на продукты с циклом и получить информацию, которая вам нужна.

30: Перебрать всю книгу.

31: Найти первый контейнер div.

35: Найти все «а», если включить href. Потому что нам нужны только ссылки.

39: Вы можете получить названия цен на главной странице с тегом span, но это бесполезно, потому что содержит слишком много мусорной информации, и вам нужно потратить слишком много времени на очистку этой информации с помощью Python. Лучший способ .. Получить ссылки!

42: Создайте вид над тегом «а».

46: если ссылки содержат строки «продукт» и «/e/», игнорируйте их! Нам не нужны ссылки такого типа.

49: Добавьте остальную часть в «book_urls» с префиксом amazon.com.

52: Создайте кадр данных pandas, чтобы вы могли его экспортировать.

53: Экспортировать как .csv

Выход:

Шаг 5: Посетите ссылки и получите то, что хотите!

Держись.. Еще один шаг, и все готово.

55: Создайте цикл for для ‘books_df[‘URLs’]’.

57: Получить URL из цикла.

58: Открыть URL и получить HTML как текст

59: Сотрите этот текст с помощью BS4.

60: Найти первый div в контейнере.

61: Получить титул

62: Узнать цену

Выход:

Шаг 6: Домашнее задание!

Перейдите в раздел бестселлеров Amazon и попытайтесь получить все ссылки на всех страницах. Бьюсь об заклад, вы найдете тысячи ссылок. Как только вы нашли все, вы можете очистить страницы и получить информацию, которая вам нужна. Вы можете отправить результаты мне!

обратная связь

Что вы думаете об этой статье? Нравится и не нравится, это ваш выбор, но дайте мне знать и помогите мне стать лучше! Я хочу услышать ваши отзывы!

Контакт

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

LinkedIn: omercelebi00

Инстаграм: omercelebi00

Ссылка на файл: https://github.com/Toshiro00/Medium/blob/main/Python/Web%20Scraping/amazon_books.py