0
所以每一秒,我做了一堆請求X網站的每一秒,以現在的標準urllib
包像這樣(的requestreturns一個json):重新使用HTTP連接的Python 3
import urllib.request
import threading, time
def makerequests():
request = urllib.request.Request('http://www.X.com/Y')
while True:
time.sleep(0.2)
response = urllib.request.urlopen(request)
data = json.loads(response.read().decode('utf-8'))
for i in range(4):
t = threading.Thread(target=makerequests)
t.start()
但是,因爲我在約500次請求後發出這麼多請求,網站將返回HTTPError 429: Too manyrequests
。我想這可能會幫助,如果我重新使用初始TCP連接,但我注意到這是不可能與urllib
包執行此操作。
所以我做了一些谷歌搜索,發現了以下軟件包可能會有所幫助:
Requests
http.client
socket
?
所以我有一個問題:哪一個最適合我的情況,有人可以展示其中任何一個示例(對於Python 3)?
要回答你的問題'請求'(可能)是最好的 - 它處理保持自動活着。實際上可以幫助的是減少請求。 – mhawke
如果網站是速率限制請求,那麼重新使用tcp連接可能不起作用。 – Alasdair
我假定網站的系統管理員知道你在做什麼以及爲什麼。如果不重複循環,相同的請求可能會被視爲攻擊,您的IP將以黑名單結束。 –