Ошибка в цикле (?) - Python

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток, весь вечер убил на поиск ошибки Взял для практики канал TED и решил вывести все названия выступлений(видео) Может кто подсказать почему в итоге выдает набор из одинаковых названий, а не перечисление всех?
Листинг программы
  1. import urllib.request
  2. from bs4 import BeautifulSoup
  3. def get_html(url):
  4. response = urllib.request.urlopen(url)
  5. return response.read()
  6. def parse(html):
  7. soup = BeautifulSoup(html, "html.parser")
  8. ul = soup.find("ul", {"class": "channels-browse-content-grid branded-page-gutter-padding grid-lockups-container"})
  9. projects = []
  10. for block in ul.find_all('li'):
  11. rows = block.find_all('div')
  12. cont = soup.find_all("div", {"class": "yt-lockup-content"})
  13. projects.append({
  14. 'name': cont[0].a.text
  15. })
  16. for project in projects:
  17. print (project)
  18. def main():
  19. parse(get_html('https://www.youtube.com/user/TEDtalksDirector/videos'))
  20. if __name__ == '__main__':
  21. main()

Решение задачи: «Ошибка в цикле (?)»

textual
Листинг программы
  1. import urllib.request
  2. from bs4 import BeautifulSoup
  3.  
  4.  
  5. def get_html(url):
  6.     response = urllib.request.urlopen(url)
  7.     return response.read()
  8.  
  9.  
  10. def parse(html):
  11.     soup = BeautifulSoup(html, "html.parser")
  12.     ul = soup.find("ul", {"class": "channels-browse-content-grid branded-page-gutter-padding grid-lockups-container"})
  13.  
  14.     titles = []
  15.  
  16.     for block in ul.find_all('li'):
  17.         cont = block.find_all("a", {"class": "yt-uix-tile-link"})
  18.  
  19.         if cont:
  20.             titles.append({'name': cont[0].text})
  21.  
  22.     for title in titles:
  23.         print(title)
  24.  
  25.  
  26. parse(get_html('https://www.youtube.com/user/TEDtalksDirector/videos'))

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.714 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут