반응형

분류 전체보기 339

[Crawling] 쿠팡(Coupang)검색결과 크롤링

쿠팡(Coupang)검색결과 크롤링이번 포스팅에서는 쿠팡검색결과를 크롤링 하는 방법을 알아봅니다.www.coupang.com/np/search 크롤링을 위한 사전 세팅검색키워드 입력을 받는 keyword 설정keyword = input('검색키워드: ')params 및 header 설정- params와 headers는 딕셔너리 구조로 설정한다. params에는 받아올 값을 입력하고 headers에는 user-agent나 cookie같은 것을 입력한다.- user-agent는 F12(검사)에서 Network탭을 누른다음 Doc탭을 눌러서 볼 수 있다.- user-agent가 없으면 크롤링이 안될 수도 있으니 가급적 설정하도록 하자.params = { 'q' : keyword,}#User-Agent h..

[Crawling] KOSPI 주가 크롤링

https://m.stock.naver.com/sise/siseIndex.nhn?code=KOSPI 코스피 - 네이버 증권 관심종목의 실시간 주가를 가장 빠르게 확인하는 곳 m.stock.naver.com 코스피 주가 크롤링을 위해 네이버 증권을 이용하였다. 해당페이지에서 크롤링하기 전 먼저 살펴보아야하는 것이 있다. 먼저 F12를 누른다음 'NETWORK'탭으로 들어간다. 하지만 스크롤을 좀만 내리다보면 스크롤을 더 내리다보면 아무것도 누르지 않고 단지 스크롤만 내렸을 뿐이지만 신호가 왔다갔다하는 것을 볼 수 있다. 이번에는 저 링크로 들어가보겠다. 처음에 네이버증권을 틀었을때는 이용자가 어느정도까지 스크롤을 내릴지 모르기 때문에 데이터를 가지고 오지 않는다. 그리고 이용자가 스크롤을 내리면 그제서야 ..

[Crawling] 네이버 OPEN-API를 이용한 네이버 뉴스 크롤링

네이버 OPEN-API를 이용하여 네이버 뉴스를 크롤링이전 포스팅에서 신청했던 네이버 OPEN-API를 이용하여 네이버 뉴스를 크롤링해보겠습니다.네이버 검색 API 호출 예제를 활용하였습니다.https://developers.naver.com/docs/search/blog/)네이버 Open-API  코드 세팅ID와 Password는 네이버 OPEN-API홈페이지에서 확인 가능합니다.id = pwd= url = 'https://openapi.naver.com/v1/search/news.json?query={}'검색할 키워드를 입력받습니다.import requestsimport pandas as pdfrom pprint import pprintkeyword = input('검색 키워드:')headers를 작..

[Crawling] 네이버 개발자 API 가입

이번 포스팅에서는 네이버 관련 서비스 크롤링을 위해 네이버 개발자 API에 가입하는 방법을 알아보겠습니다.메인화면https://developers.naver.com/main/Application > 애플리케이션 등록 (내 애플리케이션-등록된 것 확인)-Product > API 소개 : 네이버 개발자 API 가 제공하는 API 확인Open API 이용신청애플리케이션 등록 – 네이버 API를 사용할 App등록•어플리케이션이름: 아래 규칙에 맞게 적당히 넣는다•사용 API: 사용할 API 선택•검색 선택•사용환경•WEB 설정 선택•웹 서비스 url : 우리가 오픈 api를 사용할 site를 입력하는데 로컬환경에서 할 것이므로 http://localhost 를 입력Document – API 설명서•상단의 Doc..

[Crawling] Daum 뉴스기사 크롤링

Daum 뉴스기사 요청 url확인 요청 -> 응답 응답문자열에서 정보 추출(BS) 조회할 항목들의 selector title : h3.tit_view #h3의 tit_view 클래스 reporter : span.info_view span.txt_info: nth-child(1) #span.txt_info의 첫번째 자식 태그 date : span.info_view span.txt_info : nth-child(2) #span.txt_info의 두번째 자식 태그 content : div#harmonyContainer #div의 harmonyContainer ID CF) 클래스는 h3.xxx 처럼 '.'을 사용해서 묶고 ID는 div#xxx 처럼 '#'으로 엮는다 url = "ht..

[Crawling] Request/Urllib

urllib 패키지를 이용한 URL 다루기 urllib 패키지 URL 작업을 위한 여러 모듈을 모은 패키지 주요모듈 urllib.request: URL을 열고 요청을 위한 모듈 urllib.parse: URL 구문 분석을 위한 모듈 urllib.robotparser: robots.txt 파일을 구문 분석하기 위한 모듈 URL (Uniform Resource Locator) 이란 - 네트워크 상의 자원(html문서, 이미지 등등) 이 어디에 있는지 그 위치를 식별하기 위한 규약 - 인터넷상의 웹페이지등을 찾기 위한 주소를 말한다. URL의 구성요소 - 구문 - ` scheme:[//[user:password@]host[:port]][/]path[?query][#fragment]` 스키마(schema): 통..

[Crawling] BeautifulSoup

▣ BeautifuSoup - HTML이나 XML 문서 내에서 원하는 정보를 가져오기 위한 파이썬 라이브러리. - 설치 : pip install beautifulsoup4 ▣ 코딩 패턴 1. BeautifulSoup 클래스 import 2. BeautifulSoup 객체 생성 - 생성시 조회할 HTML 문서 전달 3. 문서내에서 필요한 정보 조회 - 태그이름과 태그 속성으로 조회 - css selector를 이용해 조회 - . 표기법을 이용한 탐색(Tree 구조 순서대로 탐색) ▣ 객체 생성 - BeautifulSoup(html str [, 파서]) - 매개변수 1. 정보를 조회할 html을 string으로 전달 2. 파서 - lxml : 매우 빠르다. html, xml 파싱 가능(xml 파싱은 lxml..

[Django] 게임 목록(검색, 필터, 가격필터 기능 및 페이징 기능 구현 그리고 최저가 기능 구현)

이제 대망의 게임목록 페이지를 만드는 시간입니다. 게임목록페이지에서는 게임리스트를 보여줌과 동시에 게임검색기능, 장르필터기능, 가격필티기능을 구현하고 페이징기능까지 구현할것입니다. 게임검색과 필터 기능의 핵심은 검색을 했을시 game_search페이지로 넘어간다는 것입니다. 즉, 원래의 게임목록 페이지와 검색후 페이지는 다른 페이지입니다. ■ views.py(리스트 부분) 모든 게임 데이터 가지고 오기(all_games) -> 페이징기능구현 -> 필터에서 쓸 장르리스트 가져오기 -> 최저가기능 순으로 구현되었습니다. 이 페이징, 필터 및 검색, 최저가 기능을 context라는 dictionary에 담아서 game_list.html에서 호출됩니다. ▶ 게임 리스트에서의 최저가 노출 view안에서 model..

[Django] 게임세부정보(game_detail)[댓글, 좋아요 기능]

이번 포스팅에서는 게임세부정보를 만들어볼것입니다. 게임 세부정보에서는 게임유튜브동영상, 출시일/사양/개발사 등의 정보, 유통사별 가격, 댓글 및 좋아요기능이 있습니다. ■ models.py 댓글기능을 하는 class를 추가합니다. CustomUser를 accounts에서 가지고 와서 댓글을 누가썼는지 알수있기 합니다. post는 게임detail페이지이며 date는 작성일, content는 내용, writer는 로그인한 작성자입니다. 마지막으로 먼저 쓴 글이 밑으로 내려가도록 '-'를 이용하여 역순으로 배열합니다. # 댓글 from accounts.models import CustomUser class Comment(models.Model): post= models.ForeignKey(Game, on_de..

[Django] Django와 데이터 연동

이번 포스팅에서는 Django에 데이터를 연동시키는 작업을 할 것입니다. 한증막.GG에서 사용한 데이터는 Steam(게임유통사이트)에서 추출한 데이터입니다.(2018년 4월 기준) 아래 데이터를 받아서 진행해주시기 바랍니다. ■ 보유한 데이터 설명 pc_requirements_minumum과 pc_requirements_recommended에서 null값은 not_supported로 치환하였습니다. steam_appid는 게임상세정보페이지에서 steam사이트를 클릭했을때 해당게임페이지로 바로가는데에 활용되는 데이터입니다. released_date_1은 게임이 공게된 날짜이며 대부분은 Apr 20, 2020 이런형식으로 되어있습니다. price1부터 price5까지는 게임유통사이트5개를 가정하여 임의로 유..

반응형