Web scrapping

0

Witam,

from bs4 import BeautifulSoup
import json
import time
import requests
import datetime
import re
import sys

#ttps://api.sofascore.com/api/v1/unique-tournament/17/season/17359/events/round/1
url = "https://api.sofascore.com/api/v1/unique-tournament/17/season/17359/events/round/1"
headers = {
         'User-Agent': 'curl/7.64.0',
         'Referer': 'https://www.sofascore.com/pl/turniej/pilka-nozna/england/premier-league/17',
         }
page = requests.get(url, headers=headers)

dict_obj = json.loads(page.text)

print(dict_obj)

sys.exit()

Chciałbym pobrać sobie dane ze strony SofaScore.com. Po uruchomieniu tego skryptu dostałem bana na 24h. Co i jak muszę zmienić żeby to się nie powtórzyło jutro?

0

jak nie mają publicznego API, to nie dziwię się, że masz bana - webscraping jest niedozwolony ;)

3
  1. Musisz wysyłać żądania dokładnie takie same jak wysyła przeglądarka, zdecydowanie więcej nagłówków itp.
  2. User agent curl to nie jest dobry pomysł na ukrywanie się przed banami.
  3. Używaj proxy, zmieniaj IP co kilka żądań.
  4. Poszukaj alternatyw (może https://www.api-football.com/).
0

Najlepszym sposobem bedzie puszczanie tego requestu przez jakies publiczne proxy. Potestuj np. co 5 requestow zmieniaj ip ;)

1
trojanus napisał(a):

jak nie mają publicznego API, to nie dziwię się, że masz bana - webscraping jest niedozwolony ;)

Nic nie jest prawdą, wszystko jest dozwolone. Każda szanująca się strona posiada plik "robots.txt", który ustala reguły dla wszelkich botów, crawlerów oraz scrapperów (SEO tego używa też). Zapoznaj się z podstawami etyki w scrappingu, jest sporo artykułów na ten temat. Od czasu afery Cambridge Analytica sporo się pozmieniało, to fakt.

0

Rzeczywiście jest takie coś na tej stronie i liczba disallow'ów nie napawa optymizmem:

https://www.sofascore.com/robots.txt

1

Zawsze mozesz sprobowac zrobic to selenium w trybie --headless. Przy odpowiedniej zabawie opoznieniami, czy symulacja clicku, nie powinienes dostac bana.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0