파이썬 크롤링 할때 태그 문의 입니다.

조회수 1492회
#!/usr/bin/python
#-*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup


url = "http://~~~~"
target_code = requests.get(url)
plain_text = target_code.text


soup = BeautifulSoup(plain_text,"lxml")


ranks = soup.findAll("div",id="grid")
print(ranks)

출력결과

<div class="inner" id="grid"></div>

제가 크롤링 해야 하는부분은 div 안에 있는 table > tbody > td 인데 개발자도구로 찍어보기 해야 div 태그가 열리면서 보입니다..

페이지에서 페이지 소스 보기 하면

요렇게 만 나와요

실제는 이 div 안에 또 table 이 있고 이런 구조인데 크롤링할때 이런문제는 어떻게 해결해야하나요

1 답변

  • ajax을 사용해서 동적으로 div에 채우는 듯 싶습니다. 이런경우면 생각을 달리해야 하고 직접 ajax url을 requests 호출하여 content을 얻으면 됩니다.

    혹은 selenium 같은 브라우져 자동화도구를 활용하여 이벤트가 완료된 상태의 html 컨텐츠를 얻는 방법도 있습니다.(이런 경우 외부 프로세스를 활용해야 하므로 느리고 리소스도 많이 사용하게 됩니다.)

    무거운 브라우져를 사용하는 대신 QtWebkit 을 메모리에만 올리고 url을 호출하여 컨텐츠를 얻는 방법도 있습니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)