이중 학살.
복잡한 세상에서 편안하게 살 수 있는 소프트웨어를 만들고,
코딩이 쉽지 않습니다.
만약에? 또한 ChatGPT.
최근 파이썬 코드를 작성할 때 ChatGPT가 무서워요.
예를 들어 요청 모듈이 아닌 http를 비동기적으로 가져오는 코드를 생성하려는 경우입니다.
물어 보자
여기에 답이 있습니다.
ChatGPT가 답변한 코드 전문입니다.
import asyncio
import aiohttp
async def fetch(session, url):
async with session.get(url) as response:
return await response.text()
async def main():
urls = ('https://www.example.com', 'https://www.google.com', 'https://www.amazon.com')
async with aiohttp.ClientSession() as session:
tasks = (asyncio.create_task(fetch(session, url)) for url in urls)
pages = await asyncio.gather(*tasks)
for page in pages:
print(page)
if __name__ == '__main__':
asyncio.run(main())
때로는 같은 질문을 받았을 때 자세한 답변을 하기도 합니다.
코드 생성 수준이 상당히 높아진 것을 알 수 있습니다.
이것은 코드의 전체 텍스트입니다
pip install asyncio aiohttp
import asyncio
import aiohttp
async def fetch(session, url):
async with session.get(url) as response:
return await response.text()
async def process_page(page):
# Do something with the fetched webpage
pass
async def crawl_site(url):
async with aiohttp.ClientSession() as session:
html = await fetch(session, url)
await process_page(html)
urls = (
'https://example.com/page1',
'https://example.com/page2',
'https://example.com/page3',
# Add more URLs to crawl as needed
)
tasks = ()
for url in urls:
tasks.append(asyncio.ensure_future(crawl_site(url)))
loop = asyncio.get_event_loop()
loop.run_until_complete(asyncio.gather(*tasks))