2017-09-23 58 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。你可以要求添加其他网站,但如果你要刮他们,则不能。