Есть скрипт:
#!/usr/bin/env python3
import requests
from bs4 import BeautifulSoup
f = open('.config/youtube_list.txt')
for line in f:
r = requests.get(line)
soup = BeautifulSoup(r.content, 'html.parser')
ch = soup.select_one('.qualified-channel-title-text').text
print('Проверка' + '\t' + ch)
Он циклом переходит по ссылкам из файла .config/youtube_list.txt
и выводит название канала в выводе. Правда, работает это странным образом. Скрипт может отработать успешно с первого раза (перейти по всем ссылкам и вывести название каналов), а может в любом месте прерваться с ошибкой:
Tomasz ~/» ./.scripts/111.py
Проверка Канал 1
Проверка Канал 2
Проверка Канал 3
Проверка Канал 4
Traceback (most recent call last):
File "./.scripts/111.py", line 12, in <module>
ch = soup.select_one('.qualified-channel-title-text').text
AttributeError: 'NoneType' object has no attribute 'text'
Сейчас приходится перезапускать скрипт несколько раз, чтобы он отработал нормально. Почему это происходит? Что сделано неправильно?