Ответы пользователя по тегу Python
  • Почему вывод частично смещается?

    @FedorWK
    Программа выполняется в два потока. Следовательно принт Аватара может произойти как до, так и после принтов в первом потоке. И '\n' в print(f'\n{avatar}') не нужен. Предыдущий принт уже добавил символ переноса.
    Самое банальное решение - убрать многопоточность вообще (она тут не нужна):
    vk_id = '231962842'
    url = f'https://onli-vk.ru/pivatfriends.php?id={vk_id}'
    content = requests.get(url)
    soup = BeautifulSoup(content.text, 'html.parser')
    accounts = soup.find_all('div', class_="post_info")
    photos = soup.find_all('div', id="change")
    
    for blocks in accounts:
          href = blocks.find('a')
          id = "ID: {}".format(href.get("href").replace('https://vk.com/id',''))
          name = "Имя: {}".format(href.text)
          profile = "Профиль: {}".format(href.get("href"))
          print(f'\n{id}\n{name}\n{profile}')
    
    for avatars in photos:
          src = avatars.find('img')
          avatar = "Аватар: {}".format(src.get("src"))
          print(f'{avatar}')
    Ответ написан
    3 комментария