Webscraping - lokalnie działa, z serwera produkcyjnego nie

0

Mam prosty skrypt w pythonie sprawdzający czy dana domena odpowiada. Poniźej fragment kodu:

try:
                opener = requests.get(strona['url'], headers={
                    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) \
                    AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 \
                    Safari/537.36'
                })
                tekst_html = opener.text

Lokalnie wszysko ładnie działa. Strona, która na pewno działa nie zwraca żadnego błędu. W przypadku uruchmienia tego z aplikacji (Django) dostaję zwrot:

HTTPConnectionPool(host='DOMENA.pl', port=80): Max retries exceeded with url: / (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x80ad3ee10>: Failed to establish a new connection: [Errno 60] Operation timed out',))- 2017/11/09-18:02:19

Gdzie może leżeć problem? Ta sama aplikacjia na localu i na serwerze i jedna zwraca błąd czyli tak jakby serwer konkretnej domeny blokował sprawdzenie, druga (lokalnie) nie zwraca błędu. Dzięki za wskazówki.

0

Firewall?

0
vpiotr napisał(a):

Firewall?

Ok. Domyślam się, że serwer docelowy jakoś blokuje moje zapytanie, ale z localhosta działa. Musi się to dać obejść. Ja chcę tylko wysłać zapytanie i sprawdzić czy strona odpowiada. Na localu działa...

EDIT: Dodałem jakieś darmowe proxy i działa. Teraz pojawia się pytanie. Czy są jakieś darmowe sposoby na pozyskanie pewnych proxy, które można zakodować na stałe w kodzie aplikacji? Są strony, które podają darmowe proxy do wykorzystania, ale pewnie działa to na krótką chwilę. Może ktoś dać jakiś sposób na kierowanie zapytań przez Proxy?

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