веб-сканер не может получить формат HTML - PullRequest
0 голосов
/ 17 декабря 2018

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

import requests
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'}
url = "https://bet.hkjc.com/"
res = requests.get(url, headers=headers)
print res.content

Однако результат не похож на тот, который я видел при нажатии клавиши F12 в Google Chrome.

<H1>xxx</H1>
<H2>YYY</H2>

Но я получил что-то вроде:

<script type="text/javascript">
  var uAgent = navigator.userAgent.toUpperCase();
  var isMobileUSer = uAgent.indexOf('APPLEWEBKIT') >=0 && uAgent.indexOf('MOBILE') >=0
                  && (uAgent.indexOf('IPHONE') >=0 || uAgent.indexOf('IPAD') >=0
                    || uAgent.indexOf('IPOD') >=0 || uAgent.indexOf('ANDROID') >=0);
  if ( screen.width < 1024 || isMobileUSer ) {
    var alt_bsloading_faq = document.getElementById("alt_bsloading_faq");
    alt_bsloading_faq.style.display = "none";
      document.getElementById("alt_bsloading_img").style.display = "none";
  }

    var SERVER_NAME = window.location.hostname;
    var domainName = SERVER_NAME.substr(SERVER_NAME.indexOf(".")+1) ;
    document.domain = domainName;

  if (self != top) {
    top.location.replace(self.location.href);
  }
  var showMode = "0" ;

  if (navigator.userAgent.toUpperCase().indexOf("MSIE 9.0") >=0
    || navigator.userAgent.toUpperCase().indexOf("MSIE 10.0") >=0) {
    document.body.style.height = window.screen.height + 'px';
  }
  if (/(iPad|iPhone)/g.test(navigator.userAgent)) {
    document.body.style.height = "100%";
    document.body.style.overflow = "auto";
  }
  if (navigator.userAgent.toUpperCase().indexOf("MOBILE") >=0) {
    document.body.style.overflow = "auto";
  }
  showMode = "1" ;
  if (screen.width < 1024 && screen.height < 768)
    showMode = "2";
  if (screen.width >= 1024 && screen.height < 768)
    showMode = "3";
  if ( isMobileUSer ) {
    showMode = "3";
  }
  if (showMode == "1" || showMode == "3") {
    $("#iframeDisplay").css({'display' : 'block'});
  }
  else if (showMode == "2") {
      if(!isMobile()){
        $("#betSlipFrame").css({'left' : '560'});
        $("#betSlipFrame").css({'top' : '24'});
        $("#betSlipFrame2").css({'left' : '560'});
        $("#betSlipFrame2").css({'top' : '24'});
        $("#iframeDisplay").css({'display' : 'block'});
      }
  }

  function main() {
  }

Сначала я подумал, что мне нужно притвориться, что я не бот, поэтому я использовал заголовки: user-agent.Но, наконец, я все еще не могу это сделать.В чем проблема?

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