@feersx

Почему не выводится результат?

При запросе номера 79999999999, выводится 2 результата.
Но если на сайте результат всего 1, как в случае с 79062296890, то результат почему то не выводится.

phone_main = '79062296890'
    epieos_url = 'https://tools.epieos.com/skype.php'
    epieos_params = {'data':f'+{phone_main}'}

    epieos_response = requests.post(epieos_url, data=epieos_params)
    epieos_soup = BeautifulSoup(epieos_response.text, 'html5lib')

    epieos_skype = epieos_soup.findAll('div', {'class': 'col-md-4 offset-md-4 mt-5 pt-3 border'})

    skype_result_0 = ''
    length=len(epieos_skype)
    if length >=1: 
        skype_find_0 = epieos_skype[0].text.strip()
        skype_name_0 = skype_find_0.split('Id :')[0].strip()
        skype_name_0 = skype_name_0.replace("Name : ","")
        skype_name_0 = skype_name_0.replace("Skype","")
        skype_name_0 = skype_name_0.replace(">","»")
        skype_name_0 = skype_name_0.replace("<","«")
        skype_login_0 = skype_find_0.split('Id :')[1].strip()
        skype_result_0 = f'\n<b>Скайп:</b> <a href="https://transitapp.com/redirect.html?url=skype://{skype_login_0}?chat">{skype_login_0}</a> | {skype_name_0}'

    skype_result_1 = ''
    length=len(epieos_skype)
    if length >=2: 
        skype_find_1 = epieos_skype[1].text.strip()
        skype_name_1 = skype_find_1.split('Id :')[0].strip()
        skype_name_1 = skype_name_1.replace("Name : ","")
        skype_name_1 = skype_name_1.replace("Skype","")
        skype_name_1 = skype_name_1.replace(">","»")
        skype_name_1 = skype_name_1.replace("<","«")
        skype_login_1 = skype_find_1.split('Id :')[1].strip()
        skype_result_1 = f'\n<b>Скайп:</b> <a href="https://transitapp.com/redirect.html?url=skype://{skype_login_1}?chat">{skype_login_1}</a> | {skype_name_1}'


    # result
        text = f""
        if skype_result_0:
            text += f'{skype_result_0}'
        if skype_result_1:
            text += f'{skype_result_1}'

 
        print(text)
  • Вопрос задан
  • 98 просмотров
Пригласить эксперта
Ответы на вопрос 1
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
Логика вашего скрипта мне не совсем понятна. В данном случае вы можете получить максимум 2 пользователя, так как я не увидел в вашем коде цикла. Данный скрипт можно упростить, используя css-селекторы (в коде отсутствует обработка ошибок):
def get_skypes(number):
    epieos_url = 'https://tools.epieos.com/skype.php'
    epieos_params = {'data':number}
    epieos_response = requests.post(epieos_url, data=epieos_params)
    epieos_soup = BeautifulSoup(epieos_response.text, 'html5lib')

    users = epieos_soup.select('div.col-md-4.offset-md-4.mt-5.pt-3.border') # Выбираем все div'ы со следующими классами
    for user in users:
        skype_name = user.select('p')[1].text.replace('Name : ','') # Выбираем второй div
        skype_login = user.select('p')[2].text.replace('Skype Id : ','') # Выбираем третий div

        print(f'\n<b>Скайп:</b> <a href="https://transitapp.com/redirect.html?url=skype://{skype_login}?chat">{skype_login}</a> | {skype_name}')

get_skypes("79999999999")

61ef8942e163a211344653.png
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы