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

j.hyeon0930님의 프로필 이미지
j.hyeon0930

작성한 질문수

초간단 초스피드 데이터 수집 (파이썬 크롤링)

url 링크 찾아내서 크롤링

12페이지 이후 print

작성

·

152

0

따라 해보니까 페이지 11 마지막 기사까지만 print가 되는데요, 12페이지 이후로는 왜 안 되는 건가요? 동아일보 웹페이지는 100페이지 이후로까지 있던데요. 이유가 무엇인가요? 12페이지 이후로도 print 하려면 어떻게 해야 하나요? 

답변 3

0

개복치개발자님의 프로필 이미지
개복치개발자
지식공유자

안녕하세요 

왜냐하면 반복문이 soup.select("#contents > div.page >a ") 의 크기만큼 동작하는데

soup.select("#contents > div.page >a ") 이 부분의 크기가 11입니다.

soup.select("#contents > div.page >a ") 이 부분을 range(0,20)이라고 바꾸시면 20페이지까지 동작하실 겁니다 :)

0

j.hyeon0930님의 프로필 이미지
j.hyeon0930
질문자

먼저 답변 감사드려요. 돌아는 가는데요, 11페이지 마지막 기사까지만 추출이 돼요. 그 이후에도 페이지가 100넘게까지 있는데, 그건 추출이 안 되네요. 아래 코드로 했어요. 

import requests
from bs4 import BeautifulSoup

req = requests.get("http://www.donga.com/news/List/Enter/?p=1&prod=news&ymd=&m=") # 엔터치기
soup = BeautifulSoup(req.text, 'html.parser') ## 이런 식으로 HTMl에 있는 코드를 다 가져온다

for i in soup.select("#contents > div.page >a "):
req2 = requests.get("http://www.donga.com/news/List/Enter/" + i['href']) # 페이지별 돌아다니기
soup2 = BeautifulSoup(req2.text, 'html.parser')

for i in soup2.find_all("span", class_="tit") :
print(i.text) # 기사 제목 가져오기

0

개복치개발자님의 프로필 이미지
개복치개발자
지식공유자

안녕하세요!

혹시 에러코드가 나오나요 아니면 그냥 돌아가지 않는 것일까요?

해당 코드를 첨부해주시면 제가 도움드리기 더 쉬울 것 같습니다~

j.hyeon0930님의 프로필 이미지
j.hyeon0930

작성한 질문수

질문하기