@outrunningkarma

Почему консоль не выводит результат парсинга?

При выполнении кода, консоль ничего не выводит, хотя на туториале все работало. Делаю на PyCharm, думал что проблема возникла из-за изменении на сайте, но никаких изменении не было(или я просто не заметил)

C:\Users\Alikhan\PycharmProjects\pythonProject\venv\Scripts\python.exe C:/Users/Alikhan/PycharmProjects/pythonProject/main.py

Process finished with exit code 0


Ссылка на видео:
https://www.youtube.com/watch?v=ykjBVT57r68

import requests
from bs4 import BeautifulSoup
import csv

CSV = 'cards.csv'
HOST = 'https://kolesa.kz/'
URL = 'https://kolesa.kz/cars/audi/'
HEADERS = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
                  'Chrome/87.0.4280.88 Safari/537.36',
    'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9'
}


def get_html(url, params=''):
    r = requests.get(url, headers=HEADERS, params=params)
    return r


def get_content(html, class_=None):
    soup = BeautifulSoup(html, 'html.parser')
    items = soup.find_all('div', target="product-item")
    cards = []

    print(items)

    for item in items:
        cards.append(
            {
                'title': item.find('div', class_='title').get.text(),
                'link_product': HOST + item.find('div', class_='title').find('a').get('href'),
                'brand': item.find('div', class_='brand').get.text(strip=True),
                'card_image': HOST + item.find('div', class_='image').find('img').get('src'),
            }
        )


def save_doc(items, path):
    with open(path, 'w', newline='') as file:
        writer = csv.writer(file, delimiter=';')
        writer.writerow(['Название продукта', 'Ссылка на продукт', 'банк', 'Изображение карты'])
        for item in items:
            writer.writerow([item['title'], item['link_product'], item['brand'], item['card_img']])


def parser():
    PPAGENATION = input("Укажите страниц для парсинга: ")
    PPAGENATION = int(PAGENATION.strip())

    html = get_html(URL)
    if html.status_code == 200:
        cards = []
        for page in range(1, PAGENATION):
            print(f'Парсим: {page}')
            html = get_html(URL, params={'page', page})
            cards.extend(get_content(html.text))
            save_doc(cards, CSV)
        print(cards)
    else:
        print("Error.")
  • Вопрос задан
  • 322 просмотра
Пригласить эксперта
Ответы на вопрос 1
ZIK1337
@ZIK1337
У вас при вызове из консоли программа ничего не делает
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы