Вывести всех свобоных агентов - Python

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

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

Здравствуйте. Есть сайт http://www.sovsport.ru/football/arti...ransferov-rfpl Надо вывести список совобных агентов и куда они могут прийти в формате Имя ~> Клуб Например: в. Агаев ~> "Амкар" в. Годзюр ~> "Урал" (Екатеринбург) ..... Была идея вывести так просто список свободных агентов:
Листинг программы
  1. from urllib.request import urlopen
  2. from bs4 import BeautifulSoup
  3. def get_links (url):
  4. html = urlopen(url)
  5. bsobj = BeautifulSoup(html,"html.parser")
  6. return bsobj
  7. BASE_URL = "http://www.sovsport.ru/football/articles/981707-oleg-ivanov-perejdet-v-dinamo-tablica-transferov-rfpl"
  8. soup = get_links(BASE_URL)
  9. players = soup.findAll("p")
  10. for player in players:
  11. freeplayers = player.contents[0]
  12. if freeplayers == "свободный агент":
  13. print (freeplayers)
Но появляется ошибка: list index out of range Есть идеи ?

Решение задачи: «Вывести всех свобоных агентов»

textual
Листинг программы
  1. import requests
  2. from bs4 import BeautifulSoup
  3. import re
  4.  
  5.  
  6. main_url = 'http://www.sovsport.ru/football/articles/981707-oleg-ivanov-perejdet-v-dinamo-tablica-transferov-rfpl'
  7.  
  8. def get_page(url=main_url):
  9.     page = requests.get(url)
  10.     return page.text
  11.  
  12. def parse_page(page):
  13.     parse_soup = BeautifulSoup(page, 'lxml')
  14.     free_man = parse_soup.find_all('p')
  15.     for value in free_man:
  16.         try:
  17.             my_find = value.text.replace('\xa0',' ').split(',')
  18.             for find_value in my_find:
  19.                 if re.search('свободный', find_value):
  20.                     print('{}:{}'.format(find_value.replace('(свободный агент)','').replace('Могут прийти:','').strip(), value.find_previous('h3').text))
  21.         except TypeError as err:
  22.             print('Error: ', err)
  23.  
  24. if __name__ == '__main__':
  25.     start = get_page()
  26.     parse_page(start)

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


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

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

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

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

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

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