как дублировать вывод на терминал в bs4 в текстовом файле - PullRequest
0 голосов
/ 07 декабря 2018

Я впервые использую bs4.Если я использую этот базовый код:

from bs4 import BeautifulSoup
with open ('test.txt','r') as f:
    soup = BeautifulSoup(f)
    print f

, вывод в терминале очень чистый и не содержит тегов html.Если я пытаюсь распечатать его в текстовый файл, он предлагает добавить парсер, поэтому я добавил «html.parser».Я не получаю тот же результат, то есть он полон тегов, от которых я пытаюсь избавиться.Как я могу получить тот же результат в моем текстовом файле?

from bs4 import BeautifulSoup
with open ('test.txt','r') as f:
    soup = BeautifulSoup(f,'html.parser')
    with open ('test2.txt', 'w') as x:
        x.write(str(soup))

* РЕДАКТИРОВАТЬ Вот пример того, что в test2.txt, когда я запускаю этот код:

    each\u00a0row you want to accept.\n <li>At the top of the list, 
    under the <b>Batch Actions</b> drop-down arrow, 
    choose\u00a0<b>Accept Selected</b>.</li>\n <li>All the selected 
    transactions\u00a0move from the <b>For Review

, но втерминал я получаю:

    each\u00a0row you want to accept.\n At the top of the list, under 
    the Batch Actions drop-down arrow, choose\u00a0Accept Selected.\n 
    All the selected transactions\u00a0move from the For Review 
    tab\u00a0to the In QuickBooks 

1 Ответ

0 голосов
/ 07 декабря 2018

попробуйте добавить атрибут .text

x.write(str(soup.text))

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