2017-09-23 72 views
1

刮我從那裏我試圖運行下面的腳本,在本地工作只是罰款PythonAnywhere一個免費帳戶。從PythonAnywhere

我想知道如果我的錯誤是由於技術原因或只是PythonAnywhere禁止人們從他們的平臺僅針對特定網站報廢?

你知道的其他免費網站,在那裏我會被允許放棄什麼?

import requests 
from bs4 import BeautifulSoup as bs 

def scrapMarketwatch(address): 
    #creating formatting data from scrapdata 
    r = requests.get(address) 
    c = r.content 
    sup = bs(c,"html.parser") 
    print(sup) 


scrapMarketwatch('http://www.marketwatch.com/investing/future/sp%20500%20futures') 

print('\n\n\n PARAGRAPH \n SPACE \n\n\n') 

scrapMarketwatch('https://www.bloomberg.com/quote/USDJPY:CUR') 

我得到以下錯誤:

File "/usr/local/lib/python3.6/dist-packages/requests/packages/urllib3/util/retry.py", line 376, in increment raise MaxRetryError(_pool, url, error or ResponseError(cause)) requests.packages.urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.bloomberg.com', port=443): Max retries exceeded with url: /quote/USDJPY:CUR (Caused by ProxyError('Cannot conn ect to proxy.', OSError('Tunnel connection failed: 403 Forbidden',))) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/sylvester83/scrapit/try2.py", line 20, in scrapMarketwatch(' https://www.bloomberg.com/quote/USDJPY:CUR ') File "/home/sylvester83/scrapit/try2.py", line 10, in scrapMarketwatch r = requests.get(address) File "/usr/local/lib/python3.6/dist-packages/requests/api.py", line 70, in get return request('get', url, params=params, **kwargs) File "/usr/local/lib/python3.6/dist-packages/requests/api.py", line 56, in request return session.request(method=method, url=url, **kwargs) File "/usr/local/lib/python3.6/dist-packages/requests/sessions.py", line 488, in request resp = self.send(prep, **send_kwargs) File "/usr/local/lib/python3.6/dist-packages/requests/sessions.py", line 609, in send r = adapter.send(request, **kwargs) File "/usr/local/lib/python3.6/dist-packages/requests/adapters.py", line 485, in send raise ProxyError(e, request=request) requests.exceptions.ProxyError: HTTPSConnectionPool(host='www.bloomberg.com', port=443): Max retries exceeded with url: /quote/USDJPY:CUR (Caused by ProxyError('Cannot connect to proxy.', OSEr ror('Tunnel connection failed: 403 Forbidden',)))

+1

彭博並不在他們的白名單中出現,因此是一個編碼的問題? – user3755529

回答

2

PythonAnywhere免費帳戶只能訪問那些他們whitelist外部網站。那些允許的站點提供一個機器API。你可以要求添加其他網站,但如果你要刮他們,則不能。