【发布时间】:2017-09-23 00:59:15
【问题描述】:
我在 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')
我收到以下错误:
文件 "/usr/local/lib/python3.6/dist-packages/requests/packages/urllib3/util/retry.py", 第 376 行,增量 引发 MaxRetryError(_pool, url, error or ResponseError(cause)) requests.packages.urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.bloomberg.com', port=443):最大重试次数 超出 url: /quote/USDJPY:CUR (由 ProxyError('Cannot 连接到代理。', OSError('隧道连接失败: 403 Forbidden',))) 在处理上述异常时,另一个 发生异常:回溯(最近一次调用最后一次):文件 “/home/sylvester83/scrapit/try2.py”,第 20 行,在 scrapMarketwatch('https://www.bloomberg.com/quote/USDJPY:CUR') 文件“/home/sylvester83/scrapit/try2.py”,第 10 行,在 scrapMarketwatch r = requests.get(address) 文件“/usr/local/lib/python3.6/dist-packages/requests/api.py”,第 70 行,在 得到 返回请求('get',url,params=params,**kwargs)文件“/usr/local/lib/python3.6/dist-packages/requests/api.py”,第56行,在 要求 返回 session.request(method=method, url=url, **kwargs) 文件“/usr/local/lib/python3.6/dist-packages/requests/sessions.py”,行 488, 应要求 resp = self.send(prep, **send_kwargs) 文件“/usr/local/lib/python3.6/dist-packages/requests/sessions.py”,行 609,在发送中 r = adapter.send(request, **kwargs) 文件“/usr/local/lib/python3.6/dist-packages/requests/adapters.py”,行 485,在发送中 引发 ProxyError(e, request=request) requests.exceptions.ProxyError: HTTPSConnectionPool(host='www.bloomberg.com', port=443):最大重试次数 超出 url: /quote/USDJPY:CUR (由 ProxyError('Cannot 连接代理。', OSEr ror('隧道连接失败: 403 禁止',)))
【问题讨论】:
-
Bloomberg 没有出现在他们的白名单上,所以这是一个编码问题?
标签: web-scraping beautifulsoup pythonanywhere