RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题

全部问题

Martin Hope
Spartak
Asked: 2025-04-03 21:59:29 +0000 UTC

如何在 suno.com 上传递 cloudflare

  • 5

https://suno.com/ - 我访问该网站,几秒钟后,我肯定看到了来自 cloudfare 的弹出窗口(我附上了屏幕截图)

在此处输入图片描述

当我单击此复选框时,我会在那里看到一瞬间的错误消息,然后弹出窗口消失,之后我无法单击登录或注册。如果没有 VPN,网站根本打不开,当我使用 Brovsec 的 Prime VPN(Chrome 扩展程序,付费订阅)时,我遇到了这种情况(我切换了国家/地区)。简而言之,我需要以某种方式绕过这种反欺诈,我想在那里购买代币并基于这个 API 创建一个电报机器人。除了IP之外,更换其他指纹有意义吗?更换 VPN 提供商有意义吗?或者我们可以尝试 SOCKS5?你有什么建议吗?我有很多选择,有一次我编写了许多带有反欺诈绕过功能的自动化工具和解析器,我只是不想浪费大量时间并尝试所有选项直到找到有帮助的东西,也许有人已经通过这个特定的网站和这个特定的反欺诈解决了这个特定的问题?那他就会为我节省很多时间,我会很感激他的。

веб-программирование
  • 1 个回答
  • 32 Views
Martin Hope
Ruslic89
Asked: 2025-04-03 21:36:00 +0000 UTC

如何通过 python-docx 将输入字段中的数据填充到表格单元格中并将其保存到 Sqlite DB

  • 4

我是 Python 新手,只知道一些基础知识。请帮我提供建议。 PyQt5 中有一个简单的界面,其中有 4 个输入字段。这个想法是,当在输入字段中输入文本时,按下按钮,就会创建一个具有一行和四列的 docx 文件,并且在每个单元格中都会显示来自输入字段的值。并且有必要在单元格的第一行中默认有 4 个标题,然后在下面添加带有输入字段中输入的值的行。我设法以古老的方式用变量来做到这一点,即通过将输入字段的值分配给变量。一般来说,我最终需要将输入字段中的值写入例如 Sqlite 数据库,然后从那里显示在指定的单元格中,以便将旧记录保存在数据库中并从那里加载到单元格中,然后可以从输入字段添加新数据。示例:例如,通过按下一个按钮,从初始行开始在其中创建一个 docx 文件,其中立即创建 4 个单元格,它们已经包含标题,例如“日期”、“产品”、“数量”、“价格”。下面,当您单击按钮时,会添加包含输入字段数据的新行。有什么想法吗?最好的方法是什么,将该数据的元组添加到字典中,然后输出它?我不太明白如何做到这一点,请至少简单告诉我一个如何做到这一点的想法。我只是想了解其中的逻辑。 PyQt5 里有什么,字段和接口如何创建和绑定,我明白该怎么做。

python
  • 1 个回答
  • 28 Views
Martin Hope
Николай
Asked: 2025-04-03 16:21:39 +0000 UTC

什么是分段错误以及如何修复它?简单音频 + pyqt5

  • 6

当我在 simpleaudio 中停止音乐时,Linux 终端立即显示“分段错误(内存映像刷新到磁盘)”,并且程序崩溃。

我的程序:

from PyQt5.QtWidgets import QApplication, QMainWindow, QSlider, QPushButton, QVBoxLayout, QWidget
from PyQt5.QtCore import Qt, QTimer
import sys
from threading import Thread
from time import sleep as wait
import simpleaudio as sa
from pydub import AudioSegment

class Program():
    def __init__(self):
        self.playing = False
        self.pos = 0
        self.length = 100000 # пока что оставим длину 100 секунд
        self.audio_file_path = "/home/nikkonst/Музыка/F-777 - Cosmic Blaster - 05 Hey Man.mp3"

    def play_level(self):
        self.playing = True
        Thread(target=self.play_level_thread, daemon=True).start()

    def play_level_thread(self):
        self.play_audio(self.audio_file_path)

        while self.playing and self.pos < self.length:
            self.pos += 10
            editor.update_timeline()
            wait(0.1)

    def play_audio(self, path):
        audio = AudioSegment.from_file(path)

        wav_file_path = "temp.wav"
        audio.export(wav_file_path, format="wav")

        wave_obj = sa.WaveObject.from_wave_file(wav_file_path)

        play_obj = wave_obj.play()

    def stop_audio(self):
        self.playing = False
        sa.stop_all() # ошибка здесь

class LevelEditor(QMainWindow):
    def __init__(self):
        super().__init__()
        self.program = Program()
        self.setWindowTitle("2D Level Editor")
        self.setGeometry(100, 100, 800, 600)

        self.central_widget = QWidget()
        self.setCentralWidget(self.central_widget)

        layout = QVBoxLayout()

        self.timeline_slider = QSlider(Qt.Horizontal)
        self.timeline_slider.setMaximum(1000)
        layout.addWidget(self.timeline_slider)

        self.play_button = QPushButton("Играть")
        self.play_button.clicked.connect(self.toggle_playback)
        layout.addWidget(self.play_button)

        self.stop_button = QPushButton("Остановить")
        self.stop_button.clicked.connect(self.stop_playback)
        layout.addWidget(self.stop_button)

        self.central_widget.setLayout(layout)

    def toggle_playback(self):
        self.timeline_slider.setMaximum(self.program.length)
        if not self.program.playing:
            print("playing")
            self.program.play_level()
            self.play_button.setText("Пауза")
        else:
            print("pause")
            self.program.stop_audio() # stop_audio будет стоять здесь недолго. вместо нее потом будет функция для паузы превью уровня
            self.play_button.setText("Играть")

    def stop_playback(self):
        print("stopping")
        if self.program.playing:
            self.program.stop_audio() # stop_audio будет стоять здесь недолго. вместо нее потом будет функция для остановки превью уровня
            self.timeline_slider.setValue(0)
            self.play_button.setText("Играть")

    def update_timeline(self):
        self.timeline_slider.setValue(self.program.pos)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    editor = LevelEditor()
    editor.show()
    sys.exit(app.exec_())
python
  • 1 个回答
  • 40 Views
Martin Hope
Friendlyap
Asked: 2025-04-02 15:13:28 +0000 UTC

使用 MVx 模式时,如何在 Unity 中组织文件夹层次结构?

  • 5

我计划为我的投资组合创建一个小项目并在其中使用 MVP 模式。我之前从未使用过任何建筑模式。问题是在 Unity 中如何组织文件夹和脚本的层次结构。是否有必要对 Model、View 和 Presenter 文件夹进行严格的区分?而且脚本名里需要加上后缀Model、View、Presenter吗?提前感谢大家。

unity3d
  • 1 个回答
  • 38 Views
Martin Hope
Vyacheslav
Asked: 2025-04-02 14:14:51 +0000 UTC

Word 文件无法在 Python 代码中读取

  • 5

为什么python代码中无法读取并打印word文件的内容:

import bs4
import time
import random
import requests
import docx
from bs4 import BeautifulSoup
from requests_html import HTMLSession
import magic
import chardet
import codecs
from io import BytesIO
from docx import Document

from selenium import webdriver  # pip install selenium


# Список пользовательских агентов
user_agents = [
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36',
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36',
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36',
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36',
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36',
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36',
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36',
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36',
    'Mozilla/5.0 (Windows NT 11.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36',
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.4 Safari/537.36',
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36',
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36'
]


# Функция для получения случайного пользовательского агента
def get_random_user_agent():
    return random.choice(user_agents)


# Настройка браузера
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(f"user-agent={get_random_user_agent()}")
chrome_options.add_argument("--disable-blink-features=AutomationControlled")
chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])
chrome_options.add_experimental_option("useAutomationExtension", False)

data = []
# Использование webdriver

session = HTMLSession()
response = session.get(
    "https://mos-gorsud.ru/mgs/search?caseDateFrom=16.02.2023&caseDateTo=28.02.2023&courtAlias=mgs&documentStatus=2&processType=6&formType=fullForm&page=2")
time.sleep(3)  # Дополнительная задержка на случай, если нужно, но избегайте чрезмерного использования sleep

soup = BeautifulSoup(response.text, 'html.parser')
heads = soup.find('table', class_='custom_table').find_all('tr')
print(len(heads))
for head in heads[1:]:
    link = 'https://mos-gorsud.ru' + head.find('nobr').find('a')['href']
    print(link)
    loom = session.get(link)
    abble = BeautifulSoup(loom.text, 'html.parser')
    
    documents = abble.find('table', {'class': 'custom_table mainTable'}).find('tbody').find_all('tr')
    for document in documents:
        if "Приговор" in document.text:
            score = document.find_all('td')

            print(len(score))
            for soc in score:
                stock = soc.find_all('a')
                for sto in stock:
                    print('Prigovor: ' + 'https://mos-gorsud.ru' + sto['href'])
                    link_doc = 'https://mos-gorsud.ru' + sto['href']
                    response = requests.get(link_doc, get_random_user_agent())

                    # Проверка успешности запроса
                    if response.status_code == 200:
                        # Сохранение файла на диск
                        with open('prigovor.docx', 'wb') as file:
                            file.write(response.content)

                        # Открытие Word-документа и извлечение текста
                        document = Document('prigovor.docx')
                        text = '\n'.join([paragraph.text for paragraph in document.paragraphs])
                        resheniye = ' '.join(text.split())

                        # Вывод ссылки и текста
                        print('Ссылка на файл: https://mos-gorsud.ru' + sto['href'])
                        print(resheniye)
                    else:
                        print(f"Error downloading file: {response.status_code}")

        elif "Постановление суда апелляционной инстанции" in document.text:
            score = document.find_all('td')

            print(len(score))
            for soc in score:
                stock = soc.find_all('a')
                for sto in stock:
                    print('Postanovleniye : ' + 'https://mos-gorsud.ru' + sto['href'])
                    link_pod = 'https://mos-gorsud.ru' + sto['href']
                    response = requests.get(link_pod, get_random_user_agent())

                    # Проверка успешности запроса
                    if response.status_code == 200:
                        # Сохранение файла на диск
                        with open('resheniye.docx', 'wb') as file:
                            file.write(response.content)

                        # Открытие Word-документа и извлечение текста
                        document = Document('resheniye.docx')
                        text = '\n'.join([paragraph.text for paragraph in document.paragraphs])
                        postanov = ' '.join(text.split())

                        # Вывод ссылки и текста
                        print('Ссылка на файл: https://mos-gorsud.ru' + sto['href'])
                        print(postanov)
                    else:
                        print(f"Error downloading file: {response.status_code}")

            print('\n')

写道:

Traceback (most recent call last):
  File "C:\Users\user\PycharmProjects\cases_pars\little.py", line 143, in <module>
    document = Document('resheniye.docx')
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\PycharmProjects\cases_pars\.venv\Lib\site-packages\docx\api.py", line 27, in Document
    document_part = cast("DocumentPart", Package.open(docx).main_document_part)
                                         ^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\PycharmProjects\cases_pars\.venv\Lib\site-packages\docx\opc\package.py", line 127, in open
    pkg_reader = PackageReader.from_file(pkg_file)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\PycharmProjects\cases_pars\.venv\Lib\site-packages\docx\opc\pkgreader.py", line 22, in from_file
    phys_reader = PhysPkgReader(pkg_file)
                  ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\PycharmProjects\cases_pars\.venv\Lib\site-packages\docx\opc\phys_pkg.py", line 21, in __new__
    raise PackageNotFoundError("Package not found at '%s'" % pkg_file)
docx.opc.exceptions.PackageNotFoundError: Package not found at 'resheniye.docx'
python
  • 2 个回答
  • 47 Views
上一页
下一页

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5