BeautifulSoup无法从HKJC网站上抓取数据

时间:2020-02-02 13:54:55

标签: python web-scraping beautifulsoup

我正在尝试从

抓取数据

https://racing.hkjc.com/racing/information/English/Racing/LocalResults.aspx?RaceDate=2020/01/27&Racecourse=ST&RaceNo=1

使用以下简单代码在python中使用BeautifulSoup,

import requests
from bs4 import BeautifulSoup
url = "https://racing.hkjc.com/racing/information/English/Racing/LocalResults.aspx?RaceDate=2020/01/27&Racecourse=ST&RaceNo=2"
page = requests.get(url)
soup = BeautifulSoup(page.content, 'html.parser')
print(soup.prettify())

它偶尔会起作用,但大多数情况下会返回以下结果,

<html>
 <head>
  <script>
   Challenge=579033;
ChallengeId=232487458;
GenericErrorMessageCookies="Cookies must be enabled in order to view this page.";
  </script>
  <script>
   function test(var1)
{
    var var_str=""+Challenge;
    var var_arr=var_str.split("");
    var LastDig=var_arr.reverse()[0];
    var minDig=var_arr.sort()[0];
    var subvar1 = (2 * (var_arr[2]))+(var_arr[1]*1);
    var subvar2 = (2 * var_arr[2])+var_arr[1];
    var my_pow=Math.pow(((var_arr[0]*1)+2),var_arr[1]);
    var x=(var1*3+subvar1)*1;
    var y=Math.cos(Math.PI*subvar2);
    var answer=x*y;
    answer-=my_pow*1;
    answer+=(minDig*1)-(LastDig*1);
    answer=answer+subvar2;
    return answer;
}
  </script>
  <script>
   client = null;
if (window.XMLHttpRequest)
{
    var client=new XMLHttpRequest();
}
else
{
    if (window.ActiveXObject)
    {
        client = new ActiveXObject('MSXML2.XMLHTTP.3.0');
    };
}
if (!((!!client)&&(!!Math.pow)&&(!!Math.cos)&&(!![].sort)&&(!![].reverse)))
{
    document.write("Not all needed JavaScript methods are supported.<BR>");

}
else
{
    client.onreadystatechange  = function()
    {
        if(client.readyState  == 4)
        {
            var MyCookie=client.getResponseHeader("X-AA-Cookie-Value");
            if ((MyCookie == null) || (MyCookie==""))
            {
                document.write(client.responseText);
                return;
            }

            var cookieName = MyCookie.split('=')[0];
            if (document.cookie.indexOf(cookieName)==-1)
            {
                document.write(GenericErrorMessageCookies);
                return;
            }
            window.location.reload(true);
        }
    };
    y=test(Challenge);
    client.open("POST",window.location,true);
    client.setRequestHeader('X-AA-Challenge-ID', ChallengeId);
    client.setRequestHeader('X-AA-Challenge-Result',y);
    client.setRequestHeader('X-AA-Challenge',Challenge);
    client.setRequestHeader('Content-Type' , 'text/plain');
    client.send();
}
  </script>
 </head>
 <body>
  <noscript>
   JavaScript must be enabled in order to view this page.
  </noscript>
 </body>
</html>

有人可以告诉我为什么它会崩溃吗?

0 个答案:

没有答案