Я пытаюсь использовать 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.Но, наконец, я все еще не могу это сделать.В чем проблема?