Тестовая тема, отвечать не надо

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
929
207
43
20
Москва
Пишу программу форума, проверяю работу ответов
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
929
207
43
20
Москва
Первое сообщение
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
929
207
43
20
Москва
второе сообщение
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
929
207
43
20
Москва
Что ж, первая версия программы связи с форумом готова
Пока можно войти на форум, открыть тему (по ссылке), посмотреть ее заголовок и текст, ответить
Смотреть ответы пока нельзя

Python:
import requests as rq
import os.path as path
from bs4 import BeautifulSoup as bs
import pickle


def get_data(code, action):
    if str(type(code)) != "<class 'bs4.BeautifulSoup'>":
        code = bs(code, 'lxml')
    return dict((i.get('name'), i.get('value')) for i in code.find('form', action=action).find_all('input'))


def get_lap():
    login = input('Login: ')
    password = input('Password: ')
    return login, password


def login():
    session = rq.Session()
    if not path.isfile('cookies.bin'):
        html = bs(session.get('https://itfy.org/login/login').content, 'lxml')
        login, password = get_lap()
        data = get_data(html, '/login/login')
        data['login'] = login
        data['password'] = password
        session.post('https://itfy.org/login/login', data=data)
        cookies = [
            {'domain': key.domain, 'name': key.name, 'path': key.path, 'value': key.value}
            for key in ses.cookies
        ]
        with open('cookies.bin', 'wb') as file:
            pickle.dump(cookies, file)
    else:
        with open('cookies.bin', 'rb') as file:
            cookies = pickle.load(file)
        for cook in cookies:
            session.cookies.set(**cook)
    return session


class Them:
    def __init__(self, link, session):
        self.link = link
        self.ses = session
        self.name = self.link.replace('https://itfy.org/threads/', '')[:-1]
        self.html = bs(self.ses.get(self.link).content, 'lxml')
        self.title = self.html.find('h1', class_='p-title-value').text
        self.text = self.html.find('div', class_='bbWrapper').text

    def post_message(self, text=None):
        them_data = get_data(self.html, f'/threads/{self.name}/add-reply')
        if text is None:
            text = input()
        them_data['message'] = text
        self.ses.post(f'https://itfy.org/threads/{self.name}/add-reply', data=them_data)
        self.update()

    def update(self):
        self.html = bs(self.ses.get(self.link).content, 'lxml')


ses = login()
 

Вложения

  • itfy.zip
    919 байт · Просмотры: 0

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
929
207
43
20
Москва
Привет мир
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
929
207
43
20
Москва
привет
 
  • Мне нравится
Реакции: Domohod45

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
929
207
43
20
Москва
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
929
207
43
20
Москва
Python:
# Это комментарий
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
929
207
43
20
Москва
Работаю над темой для кода на форуме
1643376600093.png
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
929
207
43
20
Москва
Пример кода:
Python:
import tkinter as tk

class Window(tk.Tk):
    def __init__(self, key):
        super().__init__()
        self._id = 312
        self.name = 'window'
        if key > self._id:
            _id = key
    def run(self):
        self.mainloop()

obj = Window(123)
obj.run()
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
929
207
43
20
Москва
[ IMG]https://itfy.org/attachments/1647162378032-png.1702/[/IMG]
1647162378032-png.1702
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
929
207
43
20
Москва
<script>alert(1)</script>
 
Последнее редактирование:

Форум IT Специалистов