.NET 4.x Парсинг КиноПоиска и защита от роботов - C#

Узнай цену своей работы

Формулировка задачи:

В процессе написания программы для парсинга Кинопоиска столкнулся со следующей проблемой: запросы программы распознаются Кинопоиском как робот и вместо целевой страницы в программу возвращается страница со скриншота ниже. Посоветуйте, как обойти это ограничение. Желательно, как можно подробнее, т.к. ранее не сталкивался с работой с html-страницами

Решение задачи: «.NET 4.x Парсинг КиноПоиска и защита от роботов»

textual
Листинг программы
"\n<html>\n<head>\n    <title>КиноПоиск.ru - Все фильмы планеты</title>\n    <style>\n        td {\n            font: 100 13px tahoma, verdana;\n        }\n\n        a {\n            color: #000055\n        }\n    </style>\n    <META HTTP-EQUIV=\"Pragma\" CONTENT=\"no-cache\">\n</head>\n<body>\n<center>\n    <table cellpadding=5 cellspacing=0 width=500>\n        <tr>\n            <td>\n                <div style=\"padding: 5px 0 10px 5px\"><a href=\"https://www.kinopoisk.ru/\"><img\n                            style=\"width: 198px; height: 46px\" src=\"https://st.kinopoisk.ru/images/logoOrange.png\"\n                            alt=\"\"/></a></div>\n            </td>\n        </tr>\n        <tr>\n            <td style=\"padding-left:10px\">\n                Если вы видите эту страницу, значит с вашего IP-адреса поступило необычно много запросов.\n                Система защиты от роботов (СЗоР) решила, что вместо вас действует программа, и ограничила доступ.\n                <br><br>\n                <small>Для автоматического получения рейтинга, пожалуйста используйте <a\n                        href='https://www.kinopoisk.ru/rating/462666.xml' target='_blank'>xml</a> версию.\n                </small>\n                <br/><br/>\n                <!-- <br><br>Чтобы продолжить работу, введите число, изображенное ниже. На это роботы не способны, по крайней мере, большинство из них. -->\n                                                        <form action=\"\" method=\"post\">\n                            Введите, пожалуйста, слова с картинки в поле ввода и нажмите «Отправить». Это\n                            нужно, чтобы мы поняли, что Вы живой пользователь КиноПоиска, а не робот, который задает\n                            много автоматических запросов.\n                            <br><br>\n                            Просим извинения за доставленные неудобства. Спасибо.\n                            <br><br>\n                            <script type=\"text/javascript\" src=\"https://www.google.com/recaptcha/api/challenge?k=6LerwhYTAAAAADnD-ScyQ2SbHMJpmt1p00l4SDV8\"></script>\n\n\t<noscript>\n  \t\t<iframe src=\"https://www.google.com/recaptcha/api/noscript?k=6LerwhYTAAAAADnD-ScyQ2SbHMJpmt1p00l4SDV8\" height=\"300\" width=\"500\" frameborder=\"0\"></iframe><br/>\n  \t\t<textarea name=\"recaptcha_challenge_field\" rows=\"3\" cols=\"40\"></textarea>\n  \t\t<input type=\"hidden\" name=\"recaptcha_response_field\" value=\"manual_challenge\"/>\n\t</noscript>                            <br/>\n                            <input type=\"submit\" value=\"Отправить\"/>\n                        </form>\n                        <br/>\n                        <br/>\n                        Если ничего не помогает.<br><br>\n                                        <div id=\"mailto\"\n                     style=\"width:480px; text-align:left; display:block; background-color:#f2f2f2; padding:15px\">\n                    Отправьте письмо на адрес: <a href=\"mailto:help@kinopoisk.ru\">help@kinopoisk.ru</a>, с указанием\n                    этих данных:<br><br>\n                    <b>IP адрес:</b> 2a02:2698:24:e007:7c99:e016:f51b:1adb                    <br>\n                    <b>UserAgent:</b>                     <br>\n                    <b>Referer:</b>                     <br>\n                    <b>Ht:</b> 4                </div>\n                <br>\n            </td>\n        </tr>\n        <tr>\n            <td style=\"padding:25px 10px;font-size:11px;color:999\">\n                <hr style=\"height:1px\">2016 (c) КиноПоиск.ru\n            </td>\n        </tr>\n    </table>\n</center>\n\n<!-- tns-counter.ru -->\n<script language=\"JavaScript\">\n    var img = new Image();\n    img.src = 'https://www.tns-counter.ru/V13a***R>' + document.referrer.replace(/\\*/g, '%2a') + '*kinopoisk_ru/ru/CP1251/tmsec=kinopoisk_total/';\n</script>\n<noscript>\n    <img src=\"https://www.tns-counter.ru/V13a****kinopoisk_ru/ru/CP1251/tmsec=kinopoisk_total/\" width=\"1\" height=\"1\"\n         alt=\"\"/>\n</noscript>\n<!--/ tns-counter.ru -->\n\n<script type=\"text/javascript\">\n    var gaJsHost = ((\"https:\" == document.location.protocol) ? \"https://ssl.\" : \"http://www.\");\n    document.write(unescape(\"%3Cscript src='\" + gaJsHost + \"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E\"));\n</script>\n<script type=\"text/javascript\">\n    var pageTracker = _gat._getTracker(\"UA-1078348-1\");\n    pageTracker._initData();\n    pageTracker._trackPageview();\n</script>\n</body>\n</html>\n"

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.333 из 5