Скачиваний:
0
Добавлен:
15.04.2026
Размер:
1.4 Кб
Скачать
import re
import sys
import urllib.parse

import requests


def query_to_url(query):
    return urllib.parse.quote(query)


def main(query='Телефоны СПбГУТ'):
    print(f'Запрос "{query}" в Яндекс-Поиске')
    search_query_url = f"https://yandex.ru/search/?text={query_to_url(query)}"
    print('URL:', search_query_url)
    rq = requests.get(search_query_url)
    text = rq.text
    regex = re.compile(r'\D((?:8|\+7)[\- ]?)(\(?\d{3}\)?[\- ]?)([\d\- ]{7,10})(,\d{1,6})?\D')
    if 'captcha' in text:
        print('Яндекс требует ввод капчи.')
        print('Попробуйте в следующий раз или введите название файла с кодом страницы: ', end='')
        filename = input()
        if 1 <= len(filename) <= 255:
            with open(filename, 'r') as fp:
                text = fp.read()
        else:
            print(f'Длина имени файла должна быть от 1 до 255')
            return
    mobile_numbers = [''.join(x).strip() for x in re.findall(regex, text)]
    print(*mobile_numbers, sep=', ')


if __name__ == "__main__":
    if len(sys.argv) > 1:
        try:
            main(sys.argv[-1])
        except Exception as e:
            print(*e.args, sep=', ')
    else:
        print(f'python3.6 main.py <query>')

Соседние файлы в папке Programs