inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

상세 페이지 크롤링 쉽게 하는 법

RISS논문크롤링하고 있는데 서버 거부..

206

루키22

작성한 질문수 3

0

서버 거부가 되어서 헤더추가까지 했는데도... 여전히 서버 거부인 듯하네요.. 강사님 그대로 따라 했는데.. 왜 이렇죠.ㅠㅠ

 

import requests
from bs4 import BeautifulSoup
import pandas as pd

# 파라미터 종류가 많은 경우 꿀팁
param = {
    'isDetailSearch': 'N',
    'searchGubun': 'true',
    'viewYn': 'OP',
    'strQuery': '패션 인공지능',
    'order': '/DESC',
    'onHanja': 'false',
    'strSort': 'RANK',
    'iStartCount': 0,
    'fsearchMethod': 'search',
    'sflag': 1,
    'isFDetailSearch': 'N',
    'pageNumber': 1,
    'icate': 're_a_kor',
    'colName': 're_a_kor',
    'pageScale': 100,
    'isTab': 'Y',
    'query': '패션 인공지능',
}

reponse = requests.get('https://www.riss.kr/search/Search.do',params=param)
html = reponse.text
soup = BeautifulSoup(html, 'html.parser')

articles = soup.select('.srchResultListW > ul > li')

# 헤더가 필요한 경우(서버가 막힌 경우)
header = {
    'User-Agent' : 'Mozilla/5.0',
    'Referer' : 'https://www.riss.kr/search/Search.do?isDetailSearch=N&searchGubun=true&viewYn=OP&queryText=&strQuery=%ED%8C%A8%EC%85%98+%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5&exQuery=&exQueryText=&order=%2FDESC&onHanja=false&strSort=RANK&p_year1=&p_year2=&iStartCount=0&orderBy=&mat_type=&mat_subtype=&fulltext_kind=&t_gubun=&learning_type=&ccl_code=&inside_outside=&fric_yn=&db_type=&image_yn=&gubun=&kdc=&ttsUseYn=&l_sub_code=&fsearchMethod=search&sflag=1&isFDetailSearch=N&pageNumber=1&resultKeyword=&fsearchSort=&fsearchOrder=&limiterList=&limiterListText=&facetList=&facetListText=&fsearchDB=&icate=re_a_kor&colName=re_a_kor&pageScale=100&isTab=Y&regnm=&dorg_storage=&language=&language_code=&clickKeyword=&relationKeyword=&query=%ED%8C%A8%EC%85%98+%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5',
}

for article in articles[:1]:
    title = article.select_one('.title > a').text
    link = 'https://www.riss.kr' + article.select_one('.title > a').attrs['href']
    # 상세 페이지로 요청(페이지 안에 들어가야 내용이 있는 경우)
    response = requests.get(link, headers=header)# 여기서 헤더 추가
    html = reponse.text
    soup = BeautifulSoup(html, 'html.parser')
    print(soup)
    press = soup.select_one('.infoDetailL > ul > li:nth-of-type(2) > div').text
  
    #print(title,link,press)

 

python 웹-크롤링

답변 2

0

루키22

 

헉 오타가 있었네요.ㅠㅠㅠ

 

reponse

-> respone ㅎㅎㅎㅎㅎㅎ

 

변명을 해보자면 변수 사용이 자유로운 파이썬의

맹점이랄까요 ㅎㅎㅎ;;

 

암튼 답변 감사드립니다!!

 

0

스타트코딩

현재 soup는 잘 가져와서 출력되고 있습니다 ㅎㅎ

press = soup.select_one('.infoDetailL > ul > li:nth-of-type(2) > div').text

선택자 부분만 다시 잘 설정해서 테스트해보시면 됩니다

셀레니움 환경설정 오류

0

45

2

네이버 로그인 관련

0

247

2

안녕하세요 셀레니움에 대해서 질문

0

84

1

크롤링 연습사이트 문의

0

94

2

선택자 질문

0

71

2

'특정 요소가 나타날 때까지 스크롤' 부분 에러

0

76

2

자동 로그인 질문

0

86

2

44강 제목, 링크

0

105

1

원하는 값이 없을 때

0

89

2

크롤링한 링크가 엑셀로 들어가면 작동이 안되요

0

225

2

셀레니움 PDF자료는 받을 수 있나요

0

100

2

글목록 추출하기

0

96

2

메일 자동화 로그인 중복방지문자해결 오류 및 명시적 대기 질문

0

88

2

강의 노트가 어디에 있는건가요?

0

80

2

강의 커리큘럼 질문

0

97

1

조건문 else 사용하지 않는 이유

0

74

2

셀레니움으로 접근할 수 없는 경우

0

95

2

웹페이지 변경

0

70

2

자바스크립트로 태그 선택 시 질문입니다.

1

63

2

수료증은 어떻게 받나요?

0

117

2

class명을 활용하여 선택자를 만들지 않는 경우..?

0

60

2

드라이버가 안 열려요

0

79

2

이거 해결방법 아시는 분?

0

121

2

네이버 지식인 크롤링..

0

201

2