본문으로 건너뛰기

실시간으로 풀 리퀘스트 수 크롤링하기

실시간으로 풀 리퀘스트 수 크롤링하기

이번 수업은 GitHub의 Django 리포지토리 페이지로부터 풀 리퀘스트(Pull Request) 수를 크롤링하여 화면에 출력해 보겠습니다.

참고로 풀 리퀘스트(Pull Request)는 다른 사용자의 리포지토리에 변경 사항을 제안하는 것을 뜻합니다.


Step 1

웹 페이지 HTML 가져오기
response = requests.get(url)
html_content = response.text
  • requests.get(url): 주어진 URL로부터 웹 페이지의 데이터를 가져옵니다. 여기서는 Django의 GitHub 리포지토리 페이지의 URL입니다.
  • response.text: requests.get 함수로부터 받은 응답에서 HTML 내용을 문자열로 추출합니다.

Step 2

HTML 파싱
soup = BeautifulSoup(html_content, "html.parser")
  • BeautifulSoup(html_content, "html.parser"): 가져온 HTML 컨텐츠(html_content)를 파싱하기 위해 BeautifulSoup을 사용합니다. 이 작업을 통해 HTML 문서 내의 다양한 요소에 쉽게 접근할 수 있게 됩니다.

Step 3

정보 추출
count = soup.find(id="pull-requests-repo-tab-count").get_text()
  • soup.find(id="pull-requests-repo-tab-count"): 파싱된 HTML 내용에서 ID가 pull-requests-repo-tab-count인 요소를 찾습니다. 이 ID는 GitHub 리포지토리 페이지에서 풀 리퀘스트 수를 나타내는 요소의 ID입니다.
  • .get_text(): 찾은 요소에서 텍스트 내용(여기서는 풀 리퀘스트 수)을 추출합니다.

주의 : 크롤링을 수행할 때는 대상 웹사이트의 robots.txt 파일과 이용 약관을 확인하여 규정을 준수해야 합니다.


실습 과제

  • GitHub의 다양한 리포지토리 URL을 사용하여 위 코드를 실행해보세요.

  • 다른 HTML 태그를 타겟으로 설정하여 해당 태그의 데이터를 추출하는 방법을 연습해보세요.

다음 내용이 궁금하다면?

월 12,500원 PLUS 멤버십 가입 or 강의를 등록해 주세요!