Использование Beautiful Soup для извлечения информации с сайта, но Anti-DDoS от Protect Shield мешает мне - PullRequest
1 голос
/ 07 апреля 2020

Protect Shield, по-видимому, является службой защиты от DDoS, которая не позволяет мне получить доступ к странице, с которой мне нужно извлекать информацию. Есть ли способ пройти через это? Я действительно не могу найти информацию о том, как пройти. Страница прекрасно подходит для просмотра в веб-браузере и является бесплатным c источником информации.

import requests
from bs4 import BeautifulSoup as BS4
# Latest news info 
headers = {'User-Agent': 'Mozilla/5.0'}
url = 'https://www.thelocal.it/20200308/should-you-be-concerned-about-the-coronavirus-in-italy'
page = requests.get(url, headers=headers)
print(page.text)

soup = BS4(page.text, 'html.parser')
print(soup.prettify())

Это часть вывода html, где упоминается только Project Shield. Когда я открываю его в браузере, он автоматически переходит с этой части на нужную мне страницу. Но когда я пытаюсь получить доступ к тому же URL-адресу с помощью скрипта, я застреваю здесь, и я не уверен, как мне поступить.

<html>
 <body>
  <div style="position:absolute;top:100px;text-align:center;margin-left:auto;margin-right:auto;left:0;right:0;width:500px;font-family:Roboto,sans-serif;">
   <img alt="Project Shield Logo" height="50px" src="https://storage.googleapis.com/ddos-shield.appspot.com/shield-logo-mono-darktext.svg" width="250px"/>
   <p style="font-size:18px;">
    You will be connected to
    <b>
     www.thelocal.it
    </b>
    in just a moment...
   </p>
   <p>
    <a href="https://g.co/shield">
     Learn about Project Shield
    </a>
   </p>
  </div>
  <script src="https://storage.googleapis.com/ddos-shield.appspot.com/aes.js" type="text/javascript">
  </script>
  <script>
   function toNumbers(d){var e=[];d.replace(/(..)/g,function(d){e.push(parseInt(d,16))});return e;}function toHex(){for(var d=[],d=1==arguments.length&&arguments[0].constructor==Array?arguments[0]:arguments,e="",f=0;f<d.length;f++)e+=(16>d[f]?"0":"")+d[f].toString(16);return e.toLowerCase()}var a=toNumbers("7dd3398871bb335e2cfcbae515405ebc"),b=toNumbers("254cce1703f77e225de62ca842f05921"),c=toNumbers("60ae5ab2c50fe6711bb47ab811836a49");document.cookie="STC="+toHex(slowAES.decrypt(c,2,a,b))+"; expires=Thu, 31-Dec-37 23:55:55 GMT; domain=.thelocal.it; path=/";location.href="https://www.thelocal.it/20200308/should-you-be-concerned-about-the-coronavirus-in-italy?sckattempt=1".replace(new RegExp("sckattempt=[0-9]\&"), "").replace(new RegExp("[?&]sckattempt=[0-9]"), "");
  </script>
 </body>
</html>

Любая помощь или совет будут оценены. Спасибо.

...