Add Telegram finder source
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
import re
|
||||
from urllib.parse import urljoin
|
||||
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
from config import BASE_URL, CITY
|
||||
|
||||
|
||||
def parse_girl_links(html_content):
|
||||
soup = BeautifulSoup(html_content, "lxml")
|
||||
links = []
|
||||
|
||||
for card in soup.select(".list-girls-item-mob[data-girlid]"):
|
||||
girl_id = card.get("data-girlid")
|
||||
|
||||
a = card.select_one(".list-girls-img-mob a[href]")
|
||||
if not a:
|
||||
a = card.select_one(".list-girls-right-info > a[href]")
|
||||
if not a:
|
||||
continue
|
||||
|
||||
href = a.get("href")
|
||||
if not re.match(r"^/{}/\d+/?$".format(CITY), href):
|
||||
continue
|
||||
|
||||
links.append({"id": girl_id, "url": urljoin(BASE_URL, href)})
|
||||
|
||||
return links
|
||||
|
||||
|
||||
def parse_telegram_href(soup):
|
||||
link = soup.select_one(".girl-indi-mess.dm-mess-100 a#TELEGRAM_CLICK_MOB[href]")
|
||||
return link["href"] if link else None
|
||||
|
||||
|
||||
async def parse_single_girl(session, link):
|
||||
async with session.get(link["url"]) as response:
|
||||
html_content = await response.text()
|
||||
|
||||
soup = BeautifulSoup(html_content, "lxml")
|
||||
print(f"Профиль: {link['url']}")
|
||||
|
||||
telegram_href = parse_telegram_href(soup)
|
||||
if not telegram_href:
|
||||
print(" тг не указан")
|
||||
return None
|
||||
|
||||
print(f" тг: {telegram_href}")
|
||||
return {"profile_url": link["url"], "telegram": telegram_href}
|
||||
Reference in New Issue
Block a user