2017-09-13 1 views
-1

J'ai besoin pour obtenir des données de whoscored.com mais quand je tape ce codecomment obtenir des données de whoscored

import requests 
from bs4 import BeautifulSoup as soup 
url = "https://www.whoscored.com/Statistics" 
page_html = requests.get(url) 
page_soup = soup(page_html.content, 'html.parser') 

Je suis variable de gettin page_soup comme suit

<html style="height:100%"> 
    <head> 
    <meta content="NOINDEX, NOFOLLOW" name="ROBOTS"/> 
    <meta content="telephone=no" name="format-detection"/> 
    <meta content="initial-scale=1.0" name="viewport"/> 
    <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/> 
    <script src="/_Incapsula_Resource? 
SWJIYLWA=2977d8d74f63d7f8fedbea018b7a1d05" type="text/javascript"></script> 
    </head> 
    <body style="margin:0px;height:100%"><iframe frameborder="0" 
height="100%" marginheight="0px" marginwidth="0px" 
src="/_Incapsula_Resource?CWUDNSAI=18&amp;xinfo=10-12988947- 
0%200NNN%20RT%281505336855621%20883%29%20q%280%20-1%20-1%2077%29%20r%280%20- 
1%29%20B15%284%2c200%2c0%29%20U2&amp;incident_id=473000610021824233- 
81324132038935514&amp;edet=15&amp;cinfo=04000000" width="100%">Request 
unsuccessful. Incapsula incident ID: 473000610021824233-81324132038935514</iframe></body> 

Est Y at-il un moyen d'obtenir des données dans cette situation?

Répondre

0

whoscored.com utilise une plate-forme de distribution d'applications en nuage nommé Incapsula qui offre des fonctions de sécurité pour les serveurs Web de manière suivante:

Grâce à un simple changement à votre site Web DNS (et sans matériel ni logiciel requis), le trafic de votre site Web sera acheminé de manière transparente à travers le réseau mondial de serveurs haute puissance d'Incapsula. Le trafic entrant est intelligemment profilé en temps réel, bloquant les dernières menaces Web (par exemple, les attaques par injection SQL, les scrapers, les robots malveillants, les spammeurs de commentaires) et contrecarrant les attaques DDoS gigabit à trois chiffres. Pendant ce temps, le trafic sortant est accéléré et optimisé avec le CDN mondial d'Incapsula, pour des temps de chargement plus courts, ce qui permet aux visiteurs d'être plus rapides.

Source: https://www.incapsula.com/faqs/

Votre demande est http-être bloqué comme vous pouvez le voir dans le corps html:

Request unsuccessful. Incapsula incident ID: 473000610021824233-81324132038935514 

Ce que vous voulez faire est de contourner Incapsula. Il existe un module python qui vous aidera avec cela: https://github.com/ziplokk1/incapsula-cracker-py3

Je recommande de regarder de plus près le issue #4 car vous devrez peut-être faire un peu plus de travail pour pouvoir contourner l'incapsula.