folder Tahribat.com Forumları
linefolder Python
linefolder Python Aiohttp Bilen



Python Aiohttp Bilen

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    2021 Talihlisi
    TheAvenqer
    TheAvenqer's avatar
    Kayıt Tarihi: 09/Şubat/2014
    Erkek

    Merhaba python da AioHttp diye bir modül varmış requestsle saniye başı attığım istekleri asenkron şekilde atabiliyormuş adamın teki 500 isteği 8 saniyede atmış falan acaba nedir nasıl kullanılır bilen var mı ?? 

    import aiohttp
    import asyncio
    from bs4 import BeautifulSoup
    import time
    
    async def fetch(session, url):
        async with session.get(url) as response:
            return await response.text()
    
    async def konular(link):
        async with aiohttp.ClientSession() as session:
            await konu_cek(session, 'https://www.tahribat.com{}'.format(link))
    
    async def konu_cek(session,url):
        async with session.get(url) as response:
            icerik = await response.text()
        soup = BeautifulSoup(icerik,'html.parser')
        isimler = soup.select('tbody > tr')
        for isim in isimler:
            print(isim.select('td:nth-child(2) > a')[0].text.strip())
    
    async def kategoriler(soup):
        soup = BeautifulSoup(soup,'html.parser')
        ana_kategoriler = soup.findAll('td',attrs={'style':'width:auto'})
        for ana_kategori in ana_kategoriler:
            await konular(ana_kategori.find('a').get('href'))
    
    async def main():
        async with aiohttp.ClientSession() as session:
            html = await fetch(session, 'https://www.tahribat.com/Forum')
            await kategoriler(html)
    
    
    if __name__ == '__main__':
        start = time.time()
        loop = asyncio.get_event_loop()
        loop.run_until_complete(main())
        stop = time.time()
        print(stop-start)

     

    Şöyle saçma sapan bir kod yazdımda test amaçlı 54 isteği 26 saniyede attı halen yavaş kalıyor yardımcı olabilecek var mı ??


    Bot ve lisans ihtiyaçlarınız için pm atınız.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    end
    end's avatar
    Kayıt Tarihi: 16/Ekim/2016
    Erkek

    requests ile attigin istegi threading ile mass cikartabilirsin sikem aiohtetetepeyi.

    kaldir 200 thread, hepsi kalkana kadar queue'ye al; hepsi ayaklandiginda bastir requestleri


    0x0480 takilin madem ﷽﷽﷽
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    2021 Talihlisi
    TheAvenqer
    TheAvenqer's avatar
    Kayıt Tarihi: 09/Şubat/2014
    Erkek

    ufacık bir up olsun 


    Bot ve lisans ihtiyaçlarınız için pm atınız.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    GuArDiAn55
    GuArDiAn55's avatar
    Kayıt Tarihi: 26/Haziran/2015
    Erkek

    pythonda döküman bol aslında hocam internette yok mu bu modülü anlatan döküman?


    HACKEROKAN!
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    hipokondriyak
    hipokondriyak's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek

    https://gitter.im/aio-libs/Lobby

    buraya baktın mı kardes? 

     


    Homo sapiens, yaşamak için, diğer canlıların yaşamasına muhtaç; obligat parazit türüdür. "Sen olursan boş bardak , sana olur koyan çok su. a.g."
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    2021 Talihlisi
    TheAvenqer
    TheAvenqer's avatar
    Kayıt Tarihi: 09/Şubat/2014
    Erkek

    Şu threading ile yapıyorumda threadler galiba tamamlanmıyor hiç bir zaman o kısmını anlamadım neden olduğunu


    Bot ve lisans ihtiyaçlarınız için pm atınız.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YekteranBaymedir
    YekteranBaymedir's avatar
    Kayıt Tarihi: 10/Temmuz/2009
    Homo

    https://laike9m.com/blog/requests-secret-pool_connections-and-pool_maxsize,89/ 

    https://docs.aiohttp.org/en/stable/client_advanced.html#limiting-connection-pool-size (The default is 100)

    from gevent import monkey, pool
    monkey.patch_all()
    import requests
    
    session = requests.Session()
    worker_pool = pool.Pool(500)
    
    def worker(url):
    	return session.get(url)
    	
    url_list = ['https://google.com']
    for response in worker_pool.imap_unordered(worker, url_list):
    	do_something()



     

     

    YekteranBaymedir tarafından 21/May/20 18:27 tarihinde düzenlenmiştir
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    RouLette
    RouLette's avatar
    Kayıt Tarihi: 18/Temmuz/2005
    Erkek

    Aiohttp python'ın asenkron çalışma yeteneklerinden faydalanıyor. Eskiden bu tür işlemler için kompleks threading işlemleri yapardık. python 3.5 versiyonundan sonra async/await yapısı ile kod yapısını daha temiz tutabiliyoruz.

Toplam Hit: 1739 Toplam Mesaj: 8
aiohttp python requests request