Чекер валидности ссылок телеграм

mozjakovnazar

Новичок
Автор темы
5
3
⬇️Есть код⬇️

Код:
import requests



request = requests.get('https://t.me/bebra_morgena_wow_omg_free_123_456')



if 'tgme_page_title' in request.text:

    print('Valid') # Валиден

else:

    print('Novalid') # Не валиден

📣Надо сделать что бы ссылки брались из базы данных и что бы невалидные удалялись📣

⬇️Такого типа⬇️


Тип базы данных:
https://t.me/234
https://t.me/7453
https://t.me/4634
https://t.me/123
https://t.me/16213
https://t.me/215


За помощь кину 10 рублей)
 
Последнее редактирование:
Решение
Так, понял, а если мне их надо брать из текстовика, то что надо менять?
with open "chats.txt", вместо links?
Создай файл links.txt в одной директории со скриптом и выполни этот код.
1667167803851.png

Python:
from requests import get
from typing import Union
from bs4 import BeautifulSoup


def grab_links(path: str = "links.txt") -> list:
    with open(path, "r") as file:
        return file.read().split("\n")


def validate_url(url: str) -> Union[bool, None]:
    content = get(url)
    soup    = BeautifulSoup(content.text, "lxml")
    title   = soup.find("title")

    if "Telegram: Contact" in title.text:
        return True


def main() -> None:
    for link in links:
        if validate_url(link):
            print(f"✔ {link}")...

munnniisss

Активный
155
44
а что тебе непонятно? проходись по текстовику (with open) или по своей базе данных и сразу в цикле for делай проверку и если текстовик твоя бд, то просто записывай валид, а если бд то через sql запрос удаляй
 

mozjakovnazar

Новичок
Автор темы
5
3
а что тебе непонятно? проходись по текстовику (with open) или по своей базе данных и сразу в цикле for делай проверку и если текстовик твоя бд, то просто записывай валид, а если бд то через sql запрос удаляй
я не понимаю в этом вообще
Из твоих слов я понял только 30%
 

Josski Molodoi

Активный
182
83
Проверяем заголовок страницы, поскольку он самый ближайший.

зависимости:
pip install bs4
pip install lxml


В цикле закидываешь ссылки и дальше после проверки делаешь то, что тебе нужно.
Python:
from requests import get
from typing import Union
from bs4 import BeautifulSoup

links = ["https://t.me/morgen", "https://t.me/123"]

def validate_url(url: str) -> Union[bool, None]:
    content = get(url)
    soup    = BeautifulSoup(content.text, "lxml")
    title   = soup.find("title")

    if "Telegram: Contact" in title.text:
        return True

for link in links:
    if validate_url(link):
        print(f"✔ {link}")
    else:
        print(f"✖ {link}")


1667163202243.png
 

mozjakovnazar

Новичок
Автор темы
5
3
Проверяем заголовок страницы, поскольку он самый ближайший.

зависимости:
pip install bs4
pip install lxml


В цикле закидываешь ссылки и дальше после проверки делаешь то, что тебе нужно.
Python:
from requests import get
from typing import Union
from bs4 import BeautifulSoup

links = ["https://t.me/morgen", "https://t.me/123"]

def validate_url(url: str) -> Union[bool, None]:
    content = get(url)
    soup    = BeautifulSoup(content.text, "lxml")
    title   = soup.find("title")

    if "Telegram: Contact" in title.text:
        return True

for link in links:
    if validate_url(link):
        print(f"✔ {link}")
    else:
        print(f"✖ {link}")


Посмотреть вложение 175372
Так, понял, а если мне их надо брать из текстовика, то что надо менять?
with open "chats.txt", вместо links?
 
Последнее редактирование:

Josski Molodoi

Активный
182
83
Так, понял, а если мне их надо брать из текстовика, то что надо менять?
with open "chats.txt", вместо links?
Создай файл links.txt в одной директории со скриптом и выполни этот код.
1667167803851.png

Python:
from requests import get
from typing import Union
from bs4 import BeautifulSoup


def grab_links(path: str = "links.txt") -> list:
    with open(path, "r") as file:
        return file.read().split("\n")


def validate_url(url: str) -> Union[bool, None]:
    content = get(url)
    soup    = BeautifulSoup(content.text, "lxml")
    title   = soup.find("title")

    if "Telegram: Contact" in title.text:
        return True


def main() -> None:
    for link in links:
        if validate_url(link):
            print(f"✔ {link}")
        else:
            print(f"✖ {link}")


if __name__ == "__main__":
    links = grab_links()
    main()

1667167754571.png
 

mozjakovnazar

Новичок
Автор темы
5
3
Создай файл links.txt в одной директории со скриптом и выполни этот код.
Посмотреть вложение 175380
Python:
from requests import get
from typing import Union
from bs4 import BeautifulSoup


def grab_links(path: str = "links.txt") -> list:
    with open(path, "r") as file:
        return file.read().split("\n")


def validate_url(url: str) -> Union[bool, None]:
    content = get(url)
    soup    = BeautifulSoup(content.text, "lxml")
    title   = soup.find("title")

    if "Telegram: Contact" in title.text:
        return True


def main() -> None:
    for link in links:
        if validate_url(link):
            print(f"✔ {link}")
        else:
            print(f"✖ {link}")


if __name__ == "__main__":
    links = grab_links()
    main()

Посмотреть вложение 175379
Благодарю!, дай данные куда 10 кинуть:з