Используя 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](https://i.stack.imgur.com/dmebj.jpg)
Один пример данных, которые я теряю (в «Идеи 1» и «Идеи 2»):
![enter image description here](https://i.stack.imgur.com/LT8Cg.jpg)
Для этого файла я теряю 3 больших блока данных; эти блоки находятся в середине файла и во 2-й половине исходного содержимого;