HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Python
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 24.05.2022, 17:56
Sqeezi
Познающий
Регистрация: 25.04.2021
Сообщений: 83
С нами: 2659434

Репутация: 73
По умолчанию

Mini API |FunPay
Сделал небольшое API для FunPay.

Функционал мал, но если вам понравиться сделаю его побольше.

Раньше не писал ничего подобного, поэтому для меня это большой и интересный опыт.

Куки копируйте с аккаунта funpay, иначе они будут на один запрос.


Цитата:
Сообщение от Спойлер  

Для начала скачиваем либу нижу. Далее устанавливаем все нужные библ.

requests

lxml

beautifulsoup4

Также я хотел сделать отправка сообщения в "Секретный чат", но, что то у меня не получается.

В коде отставил свою версию, если кому то интересно, то пусть он ее допишет.


Цитата:
Сообщение от Спойлер  


CODE:





Код:
import
*
Название файла API
*
user_agent
=
'сюда user agent'
coockies
=
'сюда куки'
api
.
setup
(
user_agent
,
coockies
)
.
.
.


Цитата:
Сообщение от Спойлер  


code:





Код:
import
requests
import
json
import
bs4
import
re

headers
=
{
}
session
=
requests
.
session
(
)
def
setup
(
user_agent
,
cookie
)
:
# Функция установки
global
headers
    headers
=
{
"user-agent"
:
user_agent
,
"cookie"
:
cookie
}
session
.
headers
=
headers
def
get_threads
(
url
)
:
# Все темы продажи
req
=
session
.
get
(
url
)
bs
=
bs4
.
BeautifulSoup
(
req
.
text
,
'lxml'
)
result
=
[
]
online
=
False
for
item
in
bs
.
find_all
(
'a'
,
'tc-item'
)
:
link
=
item
[
'href'
]
# Ссылка на объявление
server
=
item
.
find
(
'div'
,
class_
=
'tc-server'
)
.
text
# Сервер игры
opis
=
item
.
find
(
'div'
,
class_
=
'tc-desc-text'
)
.
text
# Короткое описание объявления
author
=
item
.
find
(
'div'
,
class_
=
'media-user-name'
)
.
text
# Автор
price
=
item
.
find
(
'div'
,
class_
=
'tc-price'
)
.
text
# Цена
link_author
=
item
.
find
(
'div'
,
class_
=
'pseudo-a'
)
[
'data-href'
]
# Ссылка на автора
if
item
.
find
(
'div'
,
class_
=
'media media-user mt0 online style-circle'
)
:
online
=
True
else
:
online
=
False
result
.
append
(
{
"link"
:
link
,
"server"
:
server
,
"opis"
:
opis
,
"author"
:
author
,
"price"
:
price
,
"author_online"
:
online
,
"link_author"
:
link_author
}
)
return
result
def
get_profile
(
url
)
:
# Информаия со странице профиля
req
=
session
.
get
(
url
)
bs
=
bs4
.
BeautifulSoup
(
req
.
text
,
'lxml'
)
result
=
[
]
online
=
False
nick
=
bs
.
find
(
'span'
,
class_
=
'mr4'
)
.
text
# Ник-Нейм в профиле
rating
=
bs
.
find
(
'span'
,
class_
=
'big'
)
.
text
# Рейтинг пользователя
if
bs
.
find
(
'div'
,
class_
=
'mb40 online'
)
:
online
=
True
else
:
online
=
False
date_register
=
bs
.
find
(
'div'
,
class_
=
'text-nowrap'
)
.
text
    review
=
bs
.
find
(
'div'
,
class_
=
'rating-full-count'
)
.
a

    result
.
append
(
{
"nick"
:
nick
,
"online"
:
online
,
"rating"
:
rating
,
"registration"
:
date_register
.
split
(
','
)
[
0
]
,
"review_link"
:
review
[
'href'
]
,
"review_text"
:
review
.
text
}
)
return
result
def
get_reviews
(
url
)
:
# Отзывы на странице профиля
req
=
session
.
get
(
url
)
bs
=
bs4
.
BeautifulSoup
(
req
.
text
,
'lxml'
)
result
=
[
]
if
bs
.
find
(
'div'
,
class_
=
'review-container'
)
:
for
item
in
bs
.
find_all
(
'div'
,
class_
=
'review-container'
)
:
review_date
=
item
.
find
(
'div'
,
class_
=
'review-item-date'
)
.
text
# Дата отзыва
review_detal
=
item
.
find
(
'div'
,
class_
=
'review-item-detail'
)
.
text
# Заголовок отзыва
review_text
=
item
.
find
(
'div'
,
class_
=
'review-item-text'
)
.
text
# Текст отзыва
result
.
append
(
{
"date"
:
review_date
,
"detal"
:
review_detal
,
"text"
:
''
.
join
(
review_text
.
strip
(
)
)
}
)
return
result
# Всегда нужно делать проверку. Пример: if get_reviews(url=...): ... else: ...
def
get_categories
(
url
)
:
# Получаем категории (Услуги, Аккаунты, Бронза, Вирты и т.п)
req
=
session
.
get
(
url
)
bs
=
bs4
.
BeautifulSoup
(
req
.
text
,
'lxml'
)
result
=
[
]
for
item
in
bs
.
find_all
(
'div'
,
class_
=
'inside'
)
:
result
.
append
(
{
"text_cat"
:
item
.
find
(
'div'
,
class_
=
'counter-param'
)
.
text
# Текст категории
}
)
return
result
#def send_message():
# request    "{\"action\":\"chat_message\",\"data\":{\"node\":\"flood\",\"last_message\":826605185,\"content\":\"mnbn\",\"show_avatar\":1}}"
#msg = {"action": "chat_message", "data": {"node": "flood", "last_message": 826605185, "content": "mnbn", "show_avatar": 1}}
#req = session.post(url='https://funpay.com/', data=json.dumps(msg))


 
Ответить с цитированием

  #2  
Старый 24.05.2022, 18:08
Sqeezi
Познающий
Регистрация: 25.04.2021
Сообщений: 83
С нами: 2659434

Репутация: 73
По умолчанию

Цитата:
Сообщение от Rice.  

А в чем суть самого скрипта? Какой его функционал?
Или это просто недоработанный "Секретный чат"?
Ты смотрел код?

Парс тем продажи, инфы с профиля человека, отзывов, категорий.
 
Ответить с цитированием

  #3  
Старый 05.04.2024, 18:31
Stevenson
Новичок
Регистрация: 13.07.2019
Сообщений: 6
С нами: 3598944

Репутация: 51
По умолчанию

не открывается зип архив. сможешь перезалить?
 
Ответить с цитированием

  #4  
Старый 05.04.2024, 20:48
TravkaCode.lover()
Участник форума
Регистрация: 22.06.2023
Сообщений: 100
С нами: 1524813

Репутация: 33
По умолчанию

Не плохо.
 
Ответить с цитированием

  #5  
Старый 06.04.2024, 17:34
Sqeezi
Познающий
Регистрация: 25.04.2021
Сообщений: 83
С нами: 2659434

Репутация: 73
По умолчанию

Цитата:
Сообщение от Stevenson  

не открывается зип архив. сможешь перезалить?
Отредактировал тему. Теперь можешь просто скопировать)
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.