Skip to main content

Easiest way to make tons of get/post requests with aiohttp.

Project description

ez_aio

Easiest way to make tons of get/post requests with aiohttp.
You need DIY to get/post with different proxy/headers/cookies, or delete/patch/put request.

Singel GET

url = 'https://www.baidu.com'
result = aio.get(url)[0]  # return a list by default

Singel GET and print

url = 'https://www.baidu.com'
aio.get(url, func=print)

x100 GET

urls = ['https://www.baidu.com'] * 100
results = aio.get(urls)

x100 POST

urls = ['https://httpbin.org/post'] * 100
data = [{'a': n} for n in range(100)]
results = [aio.post(urls, data=data, func=print)]

Singel GET speedtest

# requests might raise errors
a = timeit.repeat("requests.get('https://www.baidu.com', headers=header0)",
                  setup='import requests\nfrom ez_aio import header0', repeat=10, number=1)
b = timeit.repeat("aio.get(['https://www.baidu.com'], headers=header0)",
                  setup='from ez_aio import aio, header0',  repeat=10, number=1)
for x, y in ((a, 'requests'), (b, 'aiohttp')):
    print(y)
    print(f'{mean(x):.3f} ± {stdev(x):.3f} s, (range) [{min(x):.3f}, {max(x):.3f}]')

def

get(urls, binary=False, func=None, fdata=None, li=99, forced=True, ssl=False, 
    proxy=None, headers=None, cookies=None):
post(urls, data=None, binary=False, func=None, fdata=None, li=99, forced=True,
     ssl=False, proxy=None, headers=None, cookies=None):
  • urls: url or list of url
  • data: post(*, data=data[i], *) Change to json=data[i] if you want.
  • binary: result = response.text() if binary else response.read()
  • func: return func(result, *) if func else return result
  • fdata: func(result, fdata[i] if fdata else func(result)
  • li: max of session, 99 be default
  • forced: only return response.status in [200, 403] if forced
  • ssl: ssl
  • proxy: proxy
  • headers: headers
  • cookies: cookies
  • return: func(result, *) if func else result

More

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ez_aio-0.0.2.tar.gz (3.2 kB view hashes)

Uploaded Source

Built Distribution

ez_aio-0.0.2-py3-none-any.whl (3.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page