반응형

0. 들어가기

-. 한국경제신문에서 제공하는 컨센서스 리스트를 가져와서 DB에 저장한다.

-. 저장한 DB를 웹에서 보여준다. 

-. 앞서 파싱해 온 다트 전자공시와 비슷한 형식에, 목표가/애널 이름을 추가한 게시판 형식을 만들 예정.

-. ah

1. 한국경제 크롤링

-. 파이썬의 beautifulsoup을 이용해 한경 컨센 목록을 가져온다. 자세한 설명은 이전 포스팅에서..

-. 대략 3년치 데이터를 가져오니 25,000개 정도 된다.

 

2. 게시판 구성하기

-. flask로 게시판 만들기부트스트랩을 이용해 이쁘장하게 꾸미는 것, 두가지 포스팅을 한 적이 있는데 이것의 확장판.

-. 게시판을 뚝딱 만들 줄 알았는데.. 반응형을 넣으려니 좀 골때리네.. 일단 데스크탑에서 보이는 테이블은 이렇게 만들어두면 해결됨.

<table class="table feed col-8">
        <thead>
        <tr class="thead-dark">
            <th style="width: 5%">번호</th>
            <th class="article-title" style="width: 45%">제목</th>
            <th class="article-company" style="width: 10%">회사</th>
            <th class="article-date" style="width: 10%">공시일시</th>
            <th style="width: 10%">의견</th>
            <th style="width: 10%">목표가</th>
            <th style="width: 10%">애널</th>
        </tr>
        </thead>
        <tbody>
        {% if feed_list %}
        {% for feed in feed_list.items %}
        <tr>
            <td>{{ feed_list.total - ((feed_list.page-1) * feed_list.per_page) - loop.index0 }}</td>

            <td class="article-title">
                <a href="{{ feed.link }}" target="_blank">{{ feed.title }}</a>
            </td>
            <td class="article-company">
                <!-- code 검색 될 경우 한정 링크부여 -->
                {% if feed.company|stocknametocode != -1 %}
                <a href="/stock/{{feed.company|stocknametocode}}" target="_self">
                {% endif %}
                {{ feed.company }}</a>
            </td>
            <td class="article-date">{{ feed.feedDate|datetime }}</td>
            <td class="article-opinion">{{ feed.opinion }}</td>
            <td class="article-tp">{{ feed.target_price }}</td>
            <td class="article-anal">{{ feed.analyser }} [{{ feed.owner }}]</td>
        </tr>
        {% endfor %}
        {% else %}
        <tr>
            <td colspan="3">공시가 없습니다.</td>
        </tr>
        {% endif %}
        </tbody>
    </table>

-. 출력물은 여기에서. 

 

-. 사실은 저걸 그려놓고 반응형 웹으로 모바일 화면을 한번 더 꾸밀랬는데.. 생각보다 복잡해서 글을 갈라야겠다.

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기