Вывести всех свобоных агентов - Python
Формулировка задачи:
Здравствуйте.
Есть сайт http://www.sovsport.ru/football/arti...ransferov-rfpl
Надо вывести список совобных агентов и куда они могут прийти в формате
Имя ~> Клуб
Например:
в. Агаев ~> "Амкар"
в. Годзюр ~> "Урал" (Екатеринбург)
.....
Была идея вывести так просто список свободных агентов:
Но появляется ошибка: list index out of range
Есть идеи ?
Листинг программы
- from urllib.request import urlopen
- from bs4 import BeautifulSoup
- def get_links (url):
- html = urlopen(url)
- bsobj = BeautifulSoup(html,"html.parser")
- return bsobj
- BASE_URL = "http://www.sovsport.ru/football/articles/981707-oleg-ivanov-perejdet-v-dinamo-tablica-transferov-rfpl"
- soup = get_links(BASE_URL)
- players = soup.findAll("p")
- for player in players:
- freeplayers = player.contents[0]
- if freeplayers == "свободный агент":
- print (freeplayers)
Решение задачи: «Вывести всех свобоных агентов»
textual
Листинг программы
- import requests
- from bs4 import BeautifulSoup
- import re
- main_url = 'http://www.sovsport.ru/football/articles/981707-oleg-ivanov-perejdet-v-dinamo-tablica-transferov-rfpl'
- def get_page(url=main_url):
- page = requests.get(url)
- return page.text
- def parse_page(page):
- parse_soup = BeautifulSoup(page, 'lxml')
- free_man = parse_soup.find_all('p')
- for value in free_man:
- try:
- my_find = value.text.replace('\xa0',' ').split(',')
- for find_value in my_find:
- if re.search('свободный', find_value):
- print('{}:{}'.format(find_value.replace('(свободный агент)','').replace('Могут прийти:','').strip(), value.find_previous('h3').text))
- except TypeError as err:
- print('Error: ', err)
- if __name__ == '__main__':
- start = get_page()
- parse_page(start)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д