인프런 커뮤니티 질문&답변

chl9338님의 프로필 이미지
chl9338

작성한 질문수

파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

패턴으로 실습하며 익히기: HTML/CSS 이해를 바탕으로 크롤링하기

이어서 질문드립니다!

작성

·

166

0

음.. 그 

for index in range(10):

   requests.get('링크~~~='+ str(index))

이 부분을 어이다가 넣으면 되는건가요 ? 

제가 http://www.inven.co.kr/board/maple/2298?category=%EC%97%94%EC%A0%A4%EB%A6%AD%EB%B2%84%EC%8A%A4%ED%84%B0&sort=PID&p=1

예시로

이 사이트에서 검색에 '시커'와 관련된 제목들만 모아보고싶습니다. (그냥 검색부분을 이용해도 되긴하지만  크롤링을 이용해서 한번 도전해 보고싶었습니다)

하지만 밑에 페이지가 1,2,3 등등에도 '시커'와 관련된 제목들이 있어서 그부분을 가지고 싶은데

import requests

from bs4 import BeautifulSoup

res = requests.get('https://davelee-fun.github.io/blog/crawl_test')

soup = BeautifulSoup(res.content,'html.parser')

titles = soup.find_all('li','course')

for title in titles:

    print(title.get_text())

기본 크롤링 소스에서 페이지를 가지고 오는 쪽이니까 res 쪽에 이용해서 저부분을 넣으면 된다는건가요?

만약에 넣으면 되는게 맞다면 어떻게 활용해야할까요 ? 

for index in range(10):

   requests.get('링크~~~='+ str(index))

이부분을 리스트형태로 나온것을 변수에 저장해서 그 변수를 변수.content, 'html.parser'를 해서 soup에 넣고 하면 되는건가요 ? 좀더 수업을 듣고난 후에 해보고 이해못하면 그때 다시 여쭈어 볼까요?

답변 1

0

다음과 같이 맨 마지막이 1 부분이 페이지마다 변경되는지 확인하셔서, 해당 부분을 반복문에서 바꿔주시면 될 것 같아요.

' http://www.inven.co.kr/board/maple/2298?category=%EC%97%94%EC%A0%A4%EB%A6%AD%EB%B2%84%EC%8A%A4%ED%84%B0&sort=PID&p=' + str(1)

다음과 같은 스타일로 쓰면 될텐데, 아무래도 전혀 이해가 안간다면, 수업을 다 끝까지 들으시면서, 조금더 익숙해지면, 그 후에는 지금 이야기하는 내용이 이해가 더 되지 않을까 생각합니다.

감사합니다.

import requests

from bs4 import BeautifulSoup

for index in range(10):

    res = requests.get(' http://www.inven.co.kr/board/maple/2298?category=%EC%97%94%EC%A0%A4%EB%A6%AD%EB%B2%84%EC%8A%A4%ED%84%B0&sort=PID&p=' + str(index))

    soup = BeautifulSoup(res.content,'html.parser')

    titles = soup.find_all('li','course')

    for title in titles:

        print(title.get_text())

chl9338님의 프로필 이미지
chl9338

작성한 질문수

질문하기