crawl4AI - openai api를 사용한 크롤링

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

GitHub - unclecode/crawl4ai: 🔥🕷️ Crawl4AI: Open-source LLM Friendly Web Crawler & Scrapper

GitHub

GitHub - unclecode/crawl4ai: 🔥🕷️ Crawl4AI: Open-source LLM Friendly Web Crawler & Scrapper

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 9월 30일 오전 2:03

 • 

저장 15조회 2,122

댓글 0