Форум сайта python.su
Привет. Подскажите, кто знает, почему парсер работал, но вдруг перестал?
вот ошибка:
C:\Users\HP\AppData\Local\Programs\Python\Python36-32\python.exe CUsers/HP/AppData/Local/Programs/Python/Python36-32/ydirect.py
купить куклы лол в москве
Traceback (most recent call last):
pass http://direct.yandex.ru/search?&rid=213&text=купить куклы лол в москве&page=0
File “CUsers/HP/AppData/Local/Programs/Python/Python36-32/ydirect.py”, line 107, in <module>
main()
File “CUsers/HP/AppData/Local/Programs/Python/Python36-32/ydirect.py”, line 50, in main
pages = get_pages(g, url, query)
File “CUsers/HP/AppData/Local/Programs/Python/Python36-32/ydirect.py”, line 22, in get_pages
if pages == ‘\u2026’:
UnboundLocalError: local variable ‘pages’ referenced before assignment
Прикреплённый файлы: ydirect.py (3,1 KБ)
Офлайн
очевидно в try выпал ексепшин, в результате переменная pages не была создана, о чем вам и сообщает интерпертатор.
try: pages = g.doc.select('//a[@class="b-pager__page"]')[-1].text() except: print('pass', fullurl) ...... if pages == '\u2026':
[code python][/code]
Отредактировано PEHDOM (Фев. 3, 2018 20:54:19)
Офлайн
PEHDOMЧестно, конечно, не полностью понял, как написать, чтобы except не выпадал.
очевидно в try выпал ексепшин, в результате переменная pages не была создана, о чем вам и сообщает интерпертатор.
Офлайн
Mayskij естественно, вы не туда копаете.
исключение у вас возникает при g.doc.select. надо понять почему, может у куяндекса чтото поменялось, и оно теперь вам возвращает ХЗ что.
Запускаете отладчик и смотрите пошагово как ваше pages меняется, или хотябв принты повставляйте чтобы понимать. Уберите подавление исключения чтобы посмотреть на него.
[code python][/code]
Отредактировано PEHDOM (Фев. 3, 2018 23:52:43)
Офлайн