안녕하세요
이거 괜찮겠지 이거 막 codeup이뭐라고 하는거 아니겠지?
오늘은 크롤러를 사용해서
codeup문제를 자동으로 풀어주는
python 프로그램을 만들 거예요
크롤링 또는 스크레이핑은
웹 페이지를 그대로 가져와서 그 안에서 데이터를 추출하는 과정을 의미합니다.
이러한 과정을 수행하는 소프트웨어를 '크롤러'라고 부르는데,
이는 빅데이터 분석, 데이터 마이닝, AI 언어 모델 등
다양한 IT 영역에서 필수적인 역할을 합니다.
먼저
import time
import openai
import requests
from bs4 import BeautifulSoup
를 import 해주세요
import time
시간을 체크하기 위해
import openai
chatGPT
import requests
from bs4 import BeautifulSoup
이게 크롤러입니다.
그 후에 chatGPT API(유료)를 발급하고
import 한 뒤에
openai.api_key = "자신의 API키"
를 써줍니다
messages = []
문자열을 만들고
for i in range(1,10):
FOR문을 돌려줍니다
k = "https://codeup.kr/problem.php?id="
이건 사이트 주소
num = 문제번호
자신이 풀고 싶은 문제번호(이 프로그램은 num+10번까지 문제의 답을 알려줍니다)
여기서부터 크롤러입니다
kk = BeautifulSoup(a.content, 'html.parser')
kk를 elements(F12)를 누르면 보이는 것이 kk가 됩니다
found = kk.find(id="pro1")
그중에 ID가 pro1인 것을 찾습니다
여기 부분이 pro1입니다.
그다음
messages.append({"role": "user", "content": f"{str(found)+"python정답코드만짜줘"}"})
completion = openai.ChatCompletion.create(model="gpt-4o", messages=messages)
assistant_content = completion.choices[0].message["content"].strip()
messages.append({"role": "assistant", "content": f"{assistant_content}"})
print(f"GPT : {assistant_content}")
chatGPT사용하면 정답 코드를 짜줍니다
완성코드
import time
import openai
import requests
from bs4 import BeautifulSoup
openai.api_key = "자신의 API키"
messages = []
for i in range(1,10):
k = "https://codeup.kr/problem.php?id="
num = 1000
a = requests.get(k + str(num+i))
kk = BeautifulSoup(a.content, 'html.parser')
found = kk.find(id="pro1")
#user_content = input("user : ")
messages.append({"role": "user", "content": f"{str(found)+"python정답코드만짜줘"}"})
completion = openai.ChatCompletion.create(model="gpt-4o", messages=messages)
assistant_content = completion.choices[0].message["content"].strip()
messages.append({"role": "assistant", "content": f"{assistant_content}"})
print(f"GPT : {assistant_content}")
print(a)
print()
print()
print()
time.sleep(2)
GPT : ```python
a, b, c = map(int, input(). split())
min_value = a if a < b else b
min_value = min_value if min_value < c else c
print(min_value)
```
<Response [200]>
GPT : ```python
a, b, c = map(int, input().split())
if a % 2 == 0:
print(a)
if b % 2 == 0:
print(b)
if c % 2 == 0:
print(c)
```
<Response [200]>
GPT : ```python
a, b, c = map(int, input().split())
if a % 2 == 0:
print("even")
else:
print("odd")
if b % 2 == 0:
print("even")
else:
print("odd")
if c % 2 == 0:
print("even")
else:
print("odd")
```
<Response [200]>
--결과
이런 식으로 코드를 짜줍니다 우리는 복사 + 붙여 넣기만 하면 됩니다.
'만들기' 카테고리의 다른 글
롤 도와주는 사이트 LS만들기 (0) | 2024.11.23 |
---|---|
1인용 포커게임만들기 1 JAVA SWING 강좌 포함! (1) | 2024.05.18 |