0 / 0 / 0
Регистрация: 19.07.2015
Сообщений: 4
1

Не создаеться файл, в чем может быть проблема?

27.02.2020, 14:28. Показов 551. Ответов 6

Author24 — интернет-сервис помощи студентам
Почему не создает файл?
Ошибок нет, прогу читает нормально, а вот зараза CSV файл создавать не хочет

Python
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import requests
from bs4 import BeautifulSoup
import csv
 
def get_html(url):
    r = requests.get(url)
    return r.text
 
def get_total_pages(html):
    total_pages = 1
    
    
def write_csv(data):
    with open('youla.csv', 'a', encoding='utf8') as f:
        writer = csv.writer(f)
 
        writer.writerow( (data['title'],
                          data['price'],
                          data['url']) )
 
def get_page_data(html):
    soup = BeautifulSoup(html, 'lxml')
    ads = soup.find('ul',class_='product_list _board_items product_list--type_inline ').find_all('div', class_='tooltip_container')
 
    for ad in ads:
        try:
            title = ad.find('div', class_='product_item__title').find('div', class_='product_item__title').text.strip()
        except:
            title =''
 
        try:
            url = ad.find('li', class_='class="product_item"').find('a').get('href')
        except:
            url = ''
 
        try:
            price = ad.find('div', class_='product_item__description ').text.strip()
        except:
            price = ''
 
        
        data = {'title': title,
                'price': price,
                'url': url}
 
        write_csv(data)
 
 
 
def main():
    url = 'https://youla.ru/naberezhnye_chelny?attributes[term_of_placement][from]=-1%20day&attributes[term_of_placement][to]=now&q=игровые%20приставки'
    base_url = 'https://youla.ru/naberezhnye_chelny?attributes[term_of_placement][from]=-1%20day&attributes[term_of_placement][to]=now&q='
    page_part = 'p='
    query_part = 'игровые%20приставки'
    
 
if __name__== '__main__':
    main()
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.02.2020, 14:28
Ответы с готовыми решениями:

В чем может быть проблема
Доброе утро! Совсем новичок в маткаде. Не могу понять,почему не строится график

В чем может быть проблема ?
В текстовом файле записана без ошибок формула следующего вида: <формула> ::= <терминал> | (...

В чем может быть проблема?
Ноутбук HP 250 G1, win7 x64, драйвер карты Ralink RT3290 802.11bgn Wi-Fi Adapter. Такая проблема,...

В чем может быть проблема?
Поработал отец на компе. Потом через пару дней включаю его а он молчит, кулер не работает БП тоже,...

6
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
27.02.2020, 14:43 2
Может в main нужно какие-то функции вызывать?
0
0 / 0 / 0
Регистрация: 19.07.2015
Сообщений: 4
27.02.2020, 14:52  [ТС] 3
какие?
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
27.02.2020, 14:58 4
А я откуда знаю? Наверное те, что вы выше объявили. Сейчас ваша программа лишь создает 4-е объекта класса str. Все.

Попробуйте get_html(url) написать. Посмотрите на результат. И т.д.

Можно еще так попробовать
Python
1
2
url = 'https://youla.ru/naberezhnye_chelny?attributes[term_of_placement][from]=-1%20day&attributes[term_of_placement][to]=now&q=игровые%20приставки'
get_page_data(get_html(url))
0
0 / 0 / 0
Регистрация: 19.07.2015
Сообщений: 4
27.02.2020, 15:02  [ТС] 5
А я откуда знаю? Наверное те, что вы выше объявили. Сейчас ваша программа лишь создает 4-е объекта класса str. Все.

Попробуйте get_html(url) написать. Посмотрите на результат. И т.д.

Можно еще так попробовать
PythonВыделить код
Python
1
2
url = 'https://youla.ru/naberezhnye_chelny?attributes[term_of_placement][from]=-1%20day&attributes[term_of_placement][to]=now&q=игровые%20приставки'
get_page_data(get_html(url))
Python
1
2
3
4
5
6
7
8
9
10
Traceback (most recent call last):
  File "youla.py", line 58, in <module>
    main()
  File "youla.py", line 55, in main
    get_page_data(get_html(url))
  File "youla.py", line 23, in get_page_data
    ads = soup.find('ul',class_='product_list _board_items product_list--type_inline ').find_all('div', class_='tooltip_container')
AttributeError: 'NoneType' object has no attribute 'find_all'
 
***Repl Closed***
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
27.02.2020, 15:10 6
Витояр, ну значит find вернул None. Значит что-то не было найдено. Нужно добавить проверку результатов поиска (result is not None).
0
Эксперт Python
5433 / 3857 / 1214
Регистрация: 28.10.2013
Сообщений: 9,553
Записей в блоге: 1
27.02.2020, 15:13 7
Вместо тысячи try except (которые в таком виде никто не пишет) нужно написать одно правильное XPATH выражение.
Или хотя бы проверять, что возвращает каждый find. Иначе весь код это уровень детсада.
0
27.02.2020, 15:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.02.2020, 15:13
Помогаю со студенческими работами здесь

В чем может быть проблема у сайта?
https://condishn.ru/ Почему он так отображается? Где может быть ошибка? На днях пытались...

Подскажите в чем может быть проблема
Такая проблема купил новую видеокарту RTX 2060 в пк стоит бп 500w ксas, в фурмарке все идеально,...

подскажите в чем может быть проблема?
Немного предистории.... Изначально сайт заказывался в студии веб-дизайна, они работали над ним...

Подскажите в чем может быть проблема
Назначаю группе пользователей роль, а она не распространяется на пользователя.

Подскажите в чем может быть проблема
Вчера компьютер выдал синий экран смерти KERNEL DATA INPAGE ERROR. При перезагрузке не находил...

В чём может быть проблема (прога умножает)
В чём может быть проблема (прога умножает) ...

В чем может быть проблема?(Исключение не обработано)
https://ibb.co/25qVFfg Добавлено через 1 минуту https://ibb.co/25qVFfg Добавлено через 1...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru