GitHub - unclecode/crawl4ai: 🔥🕷️ Crawl4AI: Open-source LLM Friendly Web Crawler & Scrapper
GitHub
crawl4AI는 크롤링을 위한 파이썬 패키지입니다.
기본적으로 웹페이지의 텍스트들을 잘 가져옵니다.
여기까지만 하면 여타 다른 크롤링 라이브러리와 다른점이 없습니다만,
좋은 부분은 openai의 api와 연동할 수 있다는 점입니다.
그렇게 하면 웹페이지에서 가져온 데이터들을 토대로 원하는 데이터만 쏙쏙 뽑을 수 있습니다.
테스트로 https://news.daum.net/의 데이터를 뽑아 달라고 했는데, 잘 만들어줍니다.
코드는 요거 밖에 안됩니다.
async def main():
async with AsyncWebCrawler(verbose=True) as crawler:
result = await crawler.arun(
url='https://news.daum.net/',
word_count_threshold=1,
extraction_strategy=LLMExtractionStrategy(
provider="openai/gpt-4o-mini", api_token=os.getenv('OPENAI_API_KEY'),
schema=OpenAIModelFee.schema(),
extraction_type="schema",
instruction="""뉴스타이틀과 url을 뽑아서 다음과 같은 JSON포맷으로 출력해주세요.
[
{"title": <>, "url": <> },
{"title": <>, "url": <> },
...
]
"""
),
bypass_cache=True,
)
print(result.extracted_content)
결과물도 잘 나오네요..
[
{
"title": "'개미 무덤' 오명에 4000억 투입…네이버, 주가부양 나서",
"url": "https://news.daum.net/20240930/한경비즈니스/20240930102405045scye",
"error": false
},
{
"title": "수소차도 휩쓰는 中… 한·미·일·유럽 합종연횡 속도",
"url": "https://news.daum.net/20240930/조선비즈/20240930104141207irbp",
"error": false
},
{
"title": "\"10억 넘게 번다\"…강남 '분상제' 청약 열풍",
"url": "https://news.daum.net/20240930/이데일리/20240930104508702gsln",
"error": false
},
... 생략
]
https://github.com/unclecode/crawl4ai
다음 내용이 궁금하다면?
이미 회원이신가요?
2024년 9월 30일 오전 2:03