Невозможно вставить HTML в строку в Python - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь разобрать некоторый HTML, передавая HTML в один строковый объект.Однако, когда я вставляю в HTML, я получаю тонну подчеркивания в pyCharm, что я подозреваю, из-за форматирования (см. Скриншот).Это нарушает мою программу, потому что я делю на \ n \ n, который должен представлять пустую строку.

Это то, что я получаю, когда вставляю код:

badPyCharm

Однако это то, что я хочу, у которого нетпроблемы, когда я разделяю строку с помощью \ n \ n:

goodPyCharm

Я попытался вставить HTML-код, который я хочу использовать в качестве строки, в notePad ипреобразование в обычный текст, но безрезультатно.Я также отключил все функции автоматического отступа в PyCharm.Может кто-нибудь сказать мне, как это исправить, чтобы я мог вставлять более длинные фрагменты HTML (той же структуры, разделенные пустыми строками) и при этом работать мой код?Или есть какой-то способ теперь, что разделить строку, когда я вставляю длинные фрагменты HTML (моя интуиция заключается в том, что некоторые вкладки добавляются, но я не могу понять это)?!

1 Ответ

1 голос
/ 03 июля 2019

Я бы сказал, как способ помочь, не имея доступа к реальному тексту HTML / XML (не как изображение) и не увидев, что оба образца текста выглядят по-разному по сравнению друг с другом

  1. Вашкод не должен ломаться из-за того, что внутри вашей текстовой переменной что-то не так, когда вы используете тройные одинарные / двойные кавычки - комментарий вне темы из PEP-0257 означает, что вы используете тройные двойные кавычкидля строки документа вместо многострочного текста (в котором вы используете тройную одну кавычку)
  2. Вы всегда можете попробовать любой форматер HTML / XML онлайн и вставить туда свой текст, прежде чем добавить его в свойIDE скрипт.Как вы делаете с JSON-форматированным контентом, чтобы проверить правильность.Эти средства форматирования помогают определить, что не так в вашем тексте, в соответствии с критерием синтаксического анализа
  3. Другой вариант, поскольку вы используете BeautifulSoup, передайте переменную "fullHtmlString" в качестве параметра с помощью анализатора "lxml" (вынеобходимо установить его на уровне ОС [libxml2 и libxslt] и через pip [pip3.6 install lxml в качестве примера] ранее) и позволить BeautifulSoup помочь вам увидеть, что заметно неправильно в вашем HTML / XMLтекст во время печати

    soup = BeautifulSoup(fullHtmlString, 'lxml')
    print(soup.prettify())
    
  4. Вы можете использовать опции «переформатировать код» и «заполнить абзац» вместе в PyCharm, чтобы отформатировать весь код, особенно когда он находится за пределами поля согласно PEP-0008 что при объединении вы, как правило, самостоятельно видите любые ошибки в синтаксическом смысле

Надеюсь, это поможет (:

...