2014-11-07 14 views
5

Tôi đang sử dụng python để gọi Last.fm API để tìm nạp thông tin người dùng. Lỗi này xảy ra sau khi lấy khoảng 7000 người sử dụng:Tăng ConnectionError (Kết nối bị hủy bỏ, BadStatusLine): sử dụng python và Last.fm API

Traceback (most recent call last): 

    File "C:/Python27/My Codes & Data/scanuserinfo_100K_3.py", line 48, in <module> 

    r=requests.get(host,params=params) 

    File "C:\Python27\requests\api.py", line 60, in get 

    return request('get', url, **kwargs) 

    File "C:\Python27\requests\api.py", line 49, in request 

    return session.request(method=method, url=url, **kwargs) 

    File "C:\Python27\requests\sessions.py", line 457, in request 

    resp = self.send(prep, **send_kwargs) 

    File "C:\Python27\requests\sessions.py", line 569, in send 

    r = adapter.send(request, **kwargs) 

    File "C:\Python27\requests\adapters.py", line 407, in send 

    raise ConnectionError(err, request=request) 

ConnectionError: ('Connection aborted.', BadStatusLine("''",)) 

Đây là mã của tôi để gọi API:

import requests 

API_KEY='####my api key input here#####' 

host='http://ws.audioscrobbler.com/2.0/' 

params={'method':'user.getInfo', 

      'user':'###userid input here####', 

      'api_key':API_KEY 
    } 

r=requests.get(host,params=params) 

Có thể ai đó giúp tôi ra đây?

Trả lời

1

Nó có thể liên quan đến throttling API của họ, như họ mong đợi bạn không nên làm cho hơn 5 cuộc gọi/s * 60 giây/phút * 5 min = 1500 cuộc gọi/5min

http://www.last.fm/api/tos

4,4 Bạn sẽ triển khai bộ nhớ đệm phù hợp theo tiêu đề HTTP được gửi kèm với các phản hồi dịch vụ web. Bạn sẽ không thực hiện nhiều hơn 5 yêu cầu cho mỗi địa chỉ IP có nguồn gốc mỗi giây, tính trung bình trong khoảng thời gian 5 phút mà không có sự đồng ý trước bằng văn bản. Bạn đồng ý với bộ nhớ cache nghệ sĩ tương tự và bất kỳ dữ liệu biểu đồ nào (các bản nhạc hàng đầu, nghệ sĩ hàng đầu, các album hàng đầu ) trong tối thiểu một tuần.

Các vấn đề liên quan