BeautifulSoup бесится при извлечении сценария фильма - PullRequest
0 голосов
/ 08 февраля 2019

Я пытаюсь получить сценарий фильма в виде текста с этого сайта .Он прекрасно работает до определенной точки, в которой текст становится таким:

5   .   

   /   b   >   



                   T   H   E       W   A   L   L   S       C   O   M   E       A   L   I   V   E   !       A       s   e   e   m   i   n   g   l   y       i   n   f   i   n   i   t   e       s   w   a   r   m       o   f       F   I   R   E   

                   D   E   M   O   N   S       r   a   l   l   y       t   o       S   u   r   t   u   r   '   s       a   i   d   .   

Вот мой код

import requests
from bs4 import BeautifulSoup

website_url = requests.get("https://www.imsdb.com/scripts/Thor-Ragnarok.html").text
soup = BeautifulSoup(website_url, "lxml")
text = soup.pre

При распечатке text он показывает ожидаемый результатдо раздела 5., а затем я получаю текст раздражает выше ...

Любые идеи о том, почему это происходит, и как это исправить?

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019

Странно ... Я попробовал ваш оригинальный код на моей машине, и я не могу воспроизвести проблемы с пробелами, которые вы описываете.У меня есть lxml-4.3.0, bs4 версия 4.7.1 и python 3.7.1.Какие у вас версии?

0 голосов
/ 08 февраля 2019

Я использовал 'html.parser' вместо 'lxml' и смог отобразить весь скрипт с правильным форматированием:

import requests
from bs4 import BeautifulSoup

website_url = requests.get("https://www.imsdb.com/scripts/Thor-Ragnarok.html").text
soup = BeautifulSoup(website_url, 'html.parser')
text = soup.pre

, то есть начало раздела 5 отображалось как:

<b>                           BLUE DRAFT 05/20/16                   5.
</b>

    THE WALLS COME ALIVE! A seemingly infinite swarm of FIRE
    DEMONS rally to Surtur's aid.

<b>                         THOR
</b>               I make grave mistakes all the time.
               Everything seems to work out.

    In the shadows, a massive FIRE DRAGON ROARS.

    The fire demons SURGE FORWARD. Thor backs up, HAMMERING
    AWAY. He then leaps back, SPRINGBOARDS off the wall, and-
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...