Python-Requests пропускает разделение на веб-сайте - PullRequest
1 голос
/ 14 мая 2019

Я пытаюсь использовать HTML-код веб-сайта для личного проекта, но Python-Requests, похоже, пропускает разделение.

Сайт, на котором я работаю: https://warframe.fandom.com/wiki/Void_Relic

Вот HTML-код прямо на сайте:

Изображение всего окна браузера:

.txt файл Python Scraped:

Редактировать 1: версия Python: Python 3.7.3 (v3.7.3: ef4ec6ed12, 25 марта 2019, 21:26:53) [MSC v.1916 32 бит (Intel)] на win32

Редактировать 2: Как видно из скриншота выше и HTML-кода ниже, одно из внутренних делений "

На скриншоте это выглядит так: div id = flytabs_0 div id_flytabs_0-content-wrapper сценарий

Но в коде, который Python удалил, второе деление отсутствует.

Я отформатировал HTML-код ниже для удобства чтения Не использовать автоматические средства для этого, чтобы уменьшить количество переменных в задаче.

То, что я пытался: в основном методом проб и ошибок, и Gooling безрезультатно.

Код Python:

import requests

f = open("ScrapedSite.txt", "wb")
source = requests.get("https://warframe.fandom.com/wiki/Void_Relic")

f.write(source.text.encode("utf8"))
f.close()

Вывод HTML в том же разделе HTML, как показано на скриншоте:

<div id="mw-customcollapsible-rewarddrops" class="mw-collapsible mw- 
collapsed" style="display:flow-root;">

    <div id="flytabs_0">
        <ul>
            <li>
                <a href="/wiki/Void_Relic/ByRelic">
                    <span>By relic</span>
                </a>
            </li>
            <li>
                <a href="/wiki/Void_Relic/ByRarity">
                    <span>By rarity</span>
                </a>
            </li>
            <li>
                <a href="/wiki/Void_Relic/ByRewards">
                    <span>By rewards</span>
                </a>
            </li>
            <li>
                <a href="/wiki/Void_Relic/ByRewards/SimpleTable">
                    <span>By rewards (simple table)</span>
                </a>
            </li>
         </ul>
    </div>

    <script>JSSnippetsStack.push({dependencies:    
    ["/extensions/wikia/TabView/js/TabView.js","/resources/wikia/libraries 
    /mustache/mustache.js"],callback:function(json) 
    {TabView.init(json)},id:"TabView.init",options: 
    {"id":"flytabs_0","selected":0}})
    </script>
</div>
...