Потеря строк (в «html.parser») и форматирование при сохранении всего HTML-контента с BeautifulSoup - PullRequest
0 голосов
/ 11 ноября 2018

Используя Beautifulsoup, я пытался сохранить все содержимое HTML в файл .txt. Тем не менее, когда я пытаюсь использовать пару идей, которые я нашел в Интернете, я продолжаю терять некоторые данные, и вывод происходит по-другому.

Файл, который я хочу сохранить, содержит только текст (музыкальный контент, который немного усложняет ситуацию). Это ссылка на то, что я хочу сохранить: http://kern.humdrum.org/cgi-bin/ksdata?l=users/craig/classical/beethoven/piano/sonata&file=sonata01-1.krn&f=kern

Обратите внимание, что я уже потерял строки на шаге:

soup2 = bs4.BeautifulSoup(res2.text,"html.parser")

Мой код:

import bs4 , requests

res = requests.get("http://kern.ccarh.org/cgi-bin/ksdata?location=users/craig/classical/beethoven/piano/sonata&file=sonata01-1.krn&format=info")
soup = bs4.BeautifulSoup(res.text,"html.parser")

for link in soup.select('[href]'):
    if (".krn" in link.getText()):
        print(link.getText(),"-", link['href'])

        res2 = requests.get(link['href'])
        soup2 = bs4.BeautifulSoup(res2.text,"html.parser")

        #Idea 1
        with open('url.txt', 'w', encoding='utf-8') as f_out:
            f_out.write(soup2.prettify())

        #Idea 2
        text_file = open("Output.txt", "w")
        text_file.write(soup2.getText())
        text_file.close()

Проблема моей "Идеи 1" (для "Идеи 2" у меня нет этой проблемы): enter image description here

Один пример данных, которые я теряю (в «Идеи 1» и «Идеи 2»): enter image description here

Для этого файла я теряю 3 больших блока данных; эти блоки находятся в середине файла и во 2-й половине исходного содержимого;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...