1 Востаннє редагувалося koala (06.12.2021 21:55:09)

Тема: Python не хоче парсити сайт

Всім доброго дня. Пишу код по парсингу сайта https://smarttender.biz/, для полегшення пошуку по роботі. Але Python відмовляється коректно виводити інформацію. Виводить наступне

Прихований текст
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="uk">
<head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0" />
        <title>Прозорро закупівлі | Публічні закупівлі Prozorro на SmartTender - державні тендери і аукціони в Україні</title>
        <link href="/manifest.json" rel="manifest">
        <link rel="icon" sizes="192x192" href="/Images/Logo/icons-192.png" as="image">
        <link rel="apple-touch-icon" href="/Images/Logo/icons-192.png">
        <meta name="msapplication-square310x310logo" content="/Images/Logo/icons-192.png">
        <meta name="theme-color" content="#014a90">
        <meta name="apple-mobile-web-app-status-bar-style" content="#014a90">
        <link rel="alternate" hreflang="en" href="https://smarttender.biz/en/public-procurements-prozorro/?q=%D0%9A%D0%B8%D0%BB%D0%B8%D0%BC%D0%B8%20%D0%B4%D0%B5%D0%B7%D1%96%D0%BD%D1%84%D1%96%D0%BA%D1%83%D1%8E%D1%87%D1%96&amp;ts=2&amp;ts=4&amp;s=7">
        <link rel="alternate" hreflang="ru" href="https://smarttender.biz/ru/publichnye-zakupki-prozorro/?q=%D0%9A%D0%B8%D0%BB%D0%B8%D0%BC%D0%B8%20%D0%B4%D0%B5%D0%B7%D1%96%D0%BD%D1%84%D1%96%D0%BA%D1%83%D1%8E%D1%87%D1%96&amp;ts=2&amp;ts=4&amp;s=7">
        <link rel="alternate" hreflang="uk" href="https://smarttender.biz/publichni-zakupivli-prozorro/?q=%D0%9A%D0%B8%D0%BB%D0%B8%D0%BC%D0%B8%20%D0%B4%D0%B5%D0%B7%D1%96%D0%BD%D1%84%D1%96%D0%BA%D1%83%D1%8E%D1%87%D1%96&amp;ts=2&amp;ts=4&amp;s=7">
                <link rel="canonical" href="https://smarttender.biz/publichni-zakupivli-prozorro/">
        <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
        <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
        <link rel="shortcut icon" type="image/x-icon" href="/Images/Logo/favicon.ico" as="image" />
        <meta name="description" content="【Державні закупівлі Прозорро】 на СмартТендер ⭐ Офіційний партнер Prozorr
o ⭐ Усі публічні закупівлі і тендерні торги на одному майданчику ➤ Smarttender.biz!" />
        <meta name="keywords" content="електронний, публічні, закупки, закупівлі, державний, тендер, ProZorro, ПроЗорро, Україна, SmartTender" />

        <link rel="preload" href="/fonts/GothamPro.woff2?v=e51Sw6ZX_JHifNAG_4n1QdfxKveESFFUeyakmGy_Ecg1" as="font" type="font/woff2" crossorigin>
        <link rel="preload" href="/fonts/SmarttenderFont.woff2?v=qqdigpTJianbKy5Mr5vEOliplkHEQX8x33_FWx3EjUg1" as="font" type="font/woff2" crossorigin>


        <style>
            @font-face {
  font-family: 'SmarttenderFont';
  src: url('/fonts/SmarttenderFont.eot');
  src: url('/fonts/SmarttenderFont.eot?#iefix') format('embedded-opentype'),
      url('/fonts/SmarttenderFont.svg') format('svg'),
      url('/fonts/SmarttenderFont.woff2') format('woff2'),
      url('/fonts/SmarttenderFont.woff') format('woff'),
      url('/fonts/SmarttenderFont.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
    font-family: 'GothamPro Regular';
    src: url('/fonts/GothamPro.eot');
    src: local('GothamPro'), url('/fonts/GothamPro.eot?#iefix') format('embedded-opentype'),
          url('/fonts/GothamPro.woff2') format('woff2'),
          url('/fonts/GothamPro.woff') format('woff'),
          url('/fonts/GothamPro.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'GothamPro Medium';
    src: url('/fonts/GothamProMedium.eot');
    src: local('GothamProMedium'), url('/fonts/GothamProMedium.eot?#iefix') format('embedded-opentype'),
          url('/fonts/GothamProMedium.woff2') format('woff2'),
          url('/fonts/GothamProMedium.woff') format('woff'),
          url('/fonts/GothamProMedium.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

body {
  font-family: 'GothamPro Regular','Segoe UI',Helvetica,'Droid Sans',Tahoma,'Geneva',sans-serif!important;
}
        </style>
        <script>
      window.fileManagerCrypt = true;
      window.fileManagerCryptCertUrl = '[url]https://smarttender.biz/ws/getfile.ashx?file=smart_crypt.cer&folder=certs[/url]'; 
      //window.onload = function () {
      //  var $style = document.getElementById('cssFonts');
      //  $style.rel = 'stylesheet';
      //};
    var ua = window.navigator.userAgent;
    var msie = ua.indexOf("MSIE ");
    var isOldIe = msie == -1 ? false : ua.substring(msie + 5, ua.indexOf(".", msie)) < 8;
    <!-- Google Tag Manager -->
    (function (w, d, s, l, i) {

        if (isOldIe) return;
        w[l] = w[l] || []; w[l].push({
            'gtm.start':
                new Date().getTime(), event: 'gtm.js'
        }); var f = d.getElementsByTagName(s)[0],
            j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src =
            '[url]https://www.googletagmanager.com/gtm.js?id=[/url]' + i + dl; f.parentNode.insertBefore(j, f);
    })(window, document, 'script', 'dataLayer', 'GTM-WFJP397');
    <!-- End Google Tag Manager -->
        </script>
<link rel="stylesheet" href="/wwwroot/dist/common.bundle.css?v=28Y9e9cjwfctms9jzZeK3v85uhlDMGO6kI1Gi1el0mg1"/><link 
rel="stylesheet" href="/wwwroot/dist/layout.bundle.css?v=0o4T8dk6cM5F-XznudSzxfYR195NCz2iT9dprO_6bmE1"/>
        <script type="text/javascript" src="/Scripts/outdatedbrowser/outdatedbrowser.min.js?v=ZvX7BLf1_QKSYnHNaI4wzoYGE8Ez5dGGyiL_mN-w8Pc1"></script>
        <link rel="stylesheet" type="text/css" href="/Scripts/outdatedbrowser/outdatedbrowser.css">
        <script type="text/javascript">
        if (outdatedBrowser) {
            var browserSupport = {
                        'Chrome': 49 ,
                        'Firefox': 51 ,
                        'Opera': 36 ,
                        'UCBrowser': 7 ,
                        'Netscape': false ,
                        'IE': false

            };

            outdatedBrowser({
                browserSupport: browserSupport,
                requireChromeOnAndroid: false,
                currentLng: 'uk'
            });
        }
        </script>

        <link rel="stylesheet" href="/wwwroot/dist/tender.bundle.css?v=1WlalTfz-1jxcu_v2OqmIXOW5XB4fGR2YzRxg8atafg1"/>
<meta content="http://dl3.joxi.net/drive/2019/02/11/0027/1078/1827894/94/c1121ba2b3.jpg" property="og:image" /><meta content="uk_UA" property="og:locale" /><meta content="website" property="og:type" /><meta content="Прозорро закупівлі | Публічні закупівлі Prozorro на SmartTender - державні тендери і аукціони в Україні" property="og:title" /><meta content="https://smarttender.biz/publichni-zakupivli-prozorro/" property="og:url" /><meta content="【Державні закупівлі Прозорро】 на СмартТендер ⭐ Офіційний партнер Prozorro ⭐ Усі публічні закупівлі і тендерні торги на одному майд
анчику ➤ Smarttender.biz!" property="og:description" />
                                <script>
                        window.smtText = "&lt;h2&gt;&lt;b&gt;Що таке публічні закупівлі Prozorro?&lt;/b&gt;&lt;/h2&gt; &lt;p&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Публічні закупівлі &amp;mdash; це закупівлі, які здійснюються державними органами виконавчої влади та їх підвідомчими установами. Наразі всі тендерні торги подібного роду проходять через систему Prozoro.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;В рамках державних тендерів існують допорогові (до 50 000 грн) і надпорогові закупівлі. Надпорогові закупівлі можуть бути реалізовані п&amp;rsquo;ятьма шляхами:&lt;/span&gt;&lt;/p&gt; &lt;h3&gt;&lt;b&gt;1. Спрощені закупівлі&lt;/b&gt;&lt;/h3&gt; &lt;p&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Придбання замовником товарів, робіт і послуг, вартість яких дорівнює або перевищує 50 000 грн та є меншою за встановлену Законом &amp;laquo;Про публічні закупівлі&amp;raquo;.&lt;/span&gt;&lt;/p&gt; &lt;h3&gt;&lt;b&gt;2. Відкриті торги&lt;/b&gt;&lt;/h3&gt; &lt;p&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Всі зацікавлені особи мають право подавати свої пропозиції. Для того, щоб торги відбулися, необхідно хоча б два учасника.&lt;/span&gt;&lt;/p&gt;  &lt;h3&gt;&lt;b&gt;3. Конкурентний діалог&lt;/b&gt;&lt;/h3&gt; &lt;p&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Проводиться в разі якщо замовник не володіє достатніми знаннями щодо потенційної закупівлі та, відповідно, потребує переговорів з учасниками.&lt;/span&gt;&lt;/p&gt;  
&lt;h3&gt;&lt;b&gt;4. Переговорна процедура закупівлі&lt;/b&gt;&lt;/h3&gt; &lt;p&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Відбувається у вигляді укладення договору після переговорів з кількома учасниками.&lt;/span&gt;&lt;/p&gt;  &lt;h3&gt;&lt;b&gt;5. Закупівля за рамковою угодою&lt;/b&gt;&lt;/h3&gt; &lt;p&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Замовник укладає з кількома учасниками рамкову угоду, що визначає основні умови майбутніх закупівель. Протягом строку дії угоди замовник може проводити торги, в яких братимуть участь лише зазначені учасники.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Нерезиденти, зацікавлені в українських 
держзакупівлях, можуть взяти участь в так званих євроторгах &amp;mdash; відкритих торгах, опублікованих англійською 
мовою, з передбачуваною вартістю вище 133 000 євро для товарів і послуг та 5,15 млн євро для робіт.&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;b&gt;Чим регламентуються публічні закупівлі Прозорро?&lt;/b&gt;&lt;/h2&gt; &lt;p&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Відповідно до Закону України &amp;laquo;Про публічні закупівлі&amp;raquo;, всі держзакупівлі повинні проводитися в електронній системі Prozorro через торгові майданчики, які отримали необхідну акредитацію. Наявність щонайменше чотирьох рівнів акредитації дає можливість проводити допорогові та надпорогові закупівлі для замовників і постачальників.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Користувач має право вибрати будь-який акредитований майданчик з урахуванням власних потреб і переваг. Розміщений на одному з майданчиків тендер автоматично дублюється на інші.&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;&lt;b&gt;Які переваги використання майданчика SmartTender?&lt;/b&gt;&lt;/h2&gt; &lt;p&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Торговий майданчик &lt;/span&gt;&lt;a href=&quot;https://smarttender.biz/&quot;&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;SmartTender&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt; є офіційним учасником системи Прозорро і має 5 рівнів акредитації, що дозволяє замовникам і учасникам працювати у всіх напрямах держзакупівель.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;SmartTender пропонує 
розширений функціонал для простішої та максимально ефективної роботи з майданчиком. Зрозумілий інтерфейс і вичерпні 
довідкові матеріали виключають можливість непорозуміння навіть з боку дебютантів держзакупівель.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style=&quot;font-weight: 400;&quot;&gt;Окремої уваги заслуговує технічна складова, яка дозволяє майданчику завжди бути на крок попереду інших торгових платформ. Зокрема, це smart-пошук зі зручною системою фільтрів по тендерам, можливість аналізувати конкурентів, наявність юридичної підтримки, система сповіщень щодо найбільш цікавих для користувача торгів, Telegram-бот для отримання актуальної інформації про закупівлі тощо.&lt;/span&gt;&lt;/p&gt;";
        window.smartIdLink = "[url]https://smartid.smarttender.biz/login/[/url]";
                </script>

        <script>
                    window.isShowMenuAcademy = true;
        window.locale = 'uk';
        </script>


        <script>
                (function (i, s, o, g, r, a, m) {
                        i["esSdk"] = r;
                        i[r] = i[r] || function () {
                                (i[r].q = i[r].q || []).push(arguments)
                        }, a = s.createElement(o), m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g;        
                        m.parentNode.insertBefore(a, m)
                }
                )(window, document, "script", "[url]https://esputnik.com/scripts/v1/public/scripts?apiKey=eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiI0NTI0ZWZhYTJkYzI2MGRmYTM4YTE1NDBlMWFjYjQ0MGMzYjEzYTA3Mjg0NWZhODAwM2FiNTI2YmM2ODY0MjA5MjNiM2JkM2E0NWFkZWY2YzYxMDM3N2U2ZDgzYmRkMGIwOWNmZTUxMTU5MzM3MGJiYjUzMzVjODMyNTFlZWEwMmQ4OWViZDNlMzU3ZDYzNTBhNTdkYTI2MmViZGMxNjAyMGQ4YWUxOTc5YTFmNjk1OWY2MGJhZDkzOTFhY2NmIn0.AtSkwcVWxKnpDNvoXv1uy3fTnxGrwD1wr2ElMU8ET-e34f_yQEkMNeav814nxfSP8tNeYZcS1whMEMWZ0sz1Pg&domain=27C13A17-0257-4AED-9097-618E5DFA2E77[/url]", "es");
                es("pushOn");
        </script>
</head>
<body>
    <input id="versionInfo" type="hidden" value="12/06/2021 17:31:34"/>
    <!-- Google Tag Manager (noscript) -->
    <noscript>
        <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WFJP397" height="0" width="0" style="display: none; visibility: hidden"></iframe>
    </noscript>
    <!-- End Google Tag Manager (noscript) -->

    <div id="header" data-layout-view='{"isMobile":false,"env":"PRODUCTION","machineName":"3TENDER02","IsTesting":null,"TechnicalMessage":null,"ReglamentMenu":{"reglamentDgf":"https://drive.google.com/file/d/1QjpBuqAolCzMNdtTf9a5YzbvtPyR3aFB/view?usp=sharing","reglamentSpf":"https://docs.google.com/document/d/1iQ4lTWf3XLeNQZXZMj2fKqh6ADs9bHhqKCIB-HmdfyE/edit"},"ContractInfoLinks":[{"offerLink":"https://smarttender.biz/api/academy/file-get?id=190942782\u0026name=%D0%94%D0%BE%D0%B3%D0%BE%D0%B2%D1%96%D1%80%20%D0%BF%D1%80%D0%B8%D1%94%D0%B4%D0%BD%D0%B0%D0%BD%D0%BD%D1%8F%20%D0%B4%D0%BE%20%D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD-%D1%81%D0%B5%D1%80%D0%B2%D1%96%D1%81%D1%83%20%D0%BC%D0%B0%D0%B9%D0%B4%D0%B0%D0%BD%D1%87%D0%B8%D0%BA%D0%B0%20SmartTender.biz%20%D0%B4%D0%BB%D1%8F%20%D0%B2%D0%B8%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D0%B0%D0%BD%D0%BD%D1%8F%20%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8%20%D0%BF%D1%83%D0%B1%D0%BB%D1%96%D1%87%D0%BD%D0%B8%D1%85%20%D0%B7%D0%B0%D0%BA%D1%83%D0%BF%D1%96%D0%B2%D0%B5%D0%BB%D1%8C%20Prozorro%20%D1%82%D0%B0%20%D0%B5%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%B8%D1%85%20%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D1%96%D0%B2%20Prozorro%20Market.pdf"},{"salesOfferLink":"https://smarttender.biz/api/academy/file-get?id=169661986\u0026name=Договір приєднання до онлайн-сервісу майданчика SmartTender.biz для використання системи Prozorro.Продажі і участі в аукціонах з продажу, оренди та приватизації.pdf"},{"informationServiceOfferLink":"https://smarttender.biz/api/academy/file-get?id=169661986\u0026name=Договір приєднання до онлайн-сервісу майданчика SmartTender.biz для використання 
системи Prozorro.Продажі і участі в аукціонах з продажу, оренди та приватизації.pdf"}],"IsEcatalogue":false,"CartHaveOrders":false,"ProzorroTendersUrl":null,"CommercialPurchasesUrl":null,"CommercialSalesUrl":null,"isAuthenticated":false,"User":{"UserId":null,"webCabinet":false,"Unworg":0,"Login":null,"FIO":null,"Phone":null,"OrganizationItId":0,"OrganizationCode":0,"OrganizationLogo":null,"Organization":null,"Okpo":null,"BusinessRoles":[],"IsPaticipant":false,"IsOrganizer":false,"IsAdmin":false,"IsMultyUser":false,"MultyUserUrl":"https://smarttender.biz/webclient/","UserManagementUrl":null,"PersonalAreaUrl":null,"PersonalCabinetUrls":null,"UserMenu":null,"balance":{"prozorro":null,"prozorroSale":null},"PersonalView":null}}'></div>
    <div class="page-container">
            </div>




<div id="app"></div>

    <footer id="footer"></footer>
<script type="text/javascript" src="/wwwroot/dist/common.bundle.js?v=RO_igHSUJhwpgoA97BNJVSEv3CeRouhBvVg9maRrxSM1"></script><script type="text/javascript" src="/wwwroot/dist/layout.bundle.js?v=KZ--1MN0TuAZsLoSTAXbwOdx82E1sFrBNlXt6afEMnI1"></script>
        <script>
                window.userInfo = {};

                // обратная совместимость
                window.authorized = window.userInfo.authorized;
                window.isManager = window.userInfo.isFrontOfficeManager;
                window.isOrganizer = window.userInfo.isOrganizer;
                window.isParticipant = window.userInfo.isParticipant;
        </script>
        <script type="text/javascript" src="/wwwroot/dist/tender.bundle.js?v=l99FtgEuxC90nfpIm81vKRYEdfsUX9Pu4HteC-CVt8I1"></script>

    <script type="application/ld+json">
        {
        "@context" : "[url]http://schema.org[/url]",
        "@type" : "Organization",
        "name" : "SmartTender — відкриті тендери в Україні, державні та комерційні закупівлі Prozorro",
        "url" : "[url]https://smarttender.biz[/url]",
        "logo": "[url]https://smarttender.biz/Images/Logo/smarttender.png[/url]",
        "description": "Офіційний електронний майданчик публічних закупівель Прозоро SmartTender.biz. Працюйте з надійними організаторами та учасниками тендерів, торгів, аукціонів та держзакупівель онлайн. Реєстрація в Прозорро",   
        "email" : "info@smarttender.biz",
        "foundingDate" : "23.10.2013",
        "address": {
            "@type": "PostalAddress",
            "addressLocality": "Київ, Україна",
            "postalCode": "02072",
            "streetAddress": "вулиця Бориса Гмирі, 6"
        },
        "sameAs": [
        "[url]https://www.facebook.com/smarttenders[/url]",
        "[url]https://www.youtube.com/channel/UCySANnqVeGF61FdxOgKyOOQ[/url]"
        ],
        "contactPoint" : [
        {
        "@type" : "ContactPoint",
        "telephone" : "+38-044-337-86-64",
        "contactType" : "customer service"
        },
        {
        "@type" : "ContactPoint",
        "telephone" : "+38-044-364-50-45",
        "contactType" : "customer service"
        },
        {
        "@type" : "ContactPoint",
        "telephone" : "+38-080-075-10-10",
        "contactType" : "customer service",
        "contactOption": "TollFree",
        "areaServed": "UA"
        }
        ]
        }
    </script>
    <script src="https://apis.google.com/js/platform.js" async defer>
        {lang: 'uk' }
    </script>

</body>
        <script type="text/javascript" src="/Scripts/crisp.min.js?v=aXYI0YOBqZEWHJ_QiHEu02qns2EcwT-gwNYEQRqn1fc1"></script>
        <script type="text/javascript">
            var inIframe = false;
            try {
                inIframe = window.self !== window.top;
            } catch (e) {
                inIframe = true;
            }
            if (!inIframe) {
                createCrispChat(
                    "d2f7c94d-7289-42b4-aa75-39953c0577a0",
                    "uk",
                    "",
                        {}
            );
            }
        </script>
</html>

а має виводити сторінку з пошуком

2 Востаннє редагувалося mamkin haker (24.01.2022 18:19:10)

Re: Python не хоче парсити сайт

3

Re: Python не хоче парсити сайт

reg = requests.get(url, headers={'User-Agent': UserAgent().chrome})
src = reg.text

soup = BeautifulSoup(src, "lxml")

print(src)

4 Востаннє редагувалося mamkin haker (24.01.2022 18:19:02)

Re: Python не хоче парсити сайт

5

Re: Python не хоче парсити сайт

тобто ви ніде не імпортуєте BeautifulSoup, а він у вас і так робе? Наведіть повний код, для початку.

6

Re: Python не хоче парсити сайт

Прихований текст

BeautifulSoup - яка дибільна назва