Skip to content

Commit 017b960

Browse files
committed
Create 네이버 증권 당일 거래 TOP 주식들 크롤링.py
1 parent 4631422 commit 017b960

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
from bs4 import BeautifulSoup
2+
import urllib.request
3+
import pandas as pd
4+
from selenium import webdriver
5+
import time
6+
#네이버 증권 당일 거래 TOP 주식들 크롤링
7+
8+
def Stock_crawling(result):
9+
wd = webdriver.Chrome('/Users/jnhyn/Documents/Jun/4학년1학기/빅데이터/chromedriver')
10+
time.sleep(3)
11+
12+
url = "https://finance.naver.com/"
13+
wd.get(url)
14+
time.sleep(3)
15+
16+
html = wd.page_source
17+
soupCB1 = BeautifulSoup(html, 'html.parser')
18+
19+
#당일 거래 상위 종목(상승)
20+
stock_name_list1 = soupCB1.select("#_topItems1 > tr.up")
21+
22+
#당일 거래 상위 종목(하락)
23+
stock_name_list2 = soupCB1.select("#_topItems1 > tr.down")
24+
25+
#당일 거래 상위 종목리스트(상승 + 하락)
26+
stock_name_list = stock_name_list1 + stock_name_list2
27+
28+
#종목(주식) 개수
29+
stock_len = len(stock_name_list)
30+
31+
for i in range(stock_len):
32+
n = str(i+1)
33+
try:
34+
#주식 가격
35+
stock_price_list = soupCB1.select("#_topItems1 > tr:nth-child("+n+") > td:nth-child(2)")
36+
stock_price = stock_price_list[0].text
37+
38+
#주식 이름
39+
stock_name_list = soupCB1.select("#_topItems1 > tr:nth-child("+n+") > th > a")
40+
stock_name = stock_name_list[0].text
41+
42+
#주식 상승하락폭(금액)
43+
stock_pice_updown_list1 = soupCB1.select("#_topItems1 > tr:nth-child("+n+") > td:nth-child(3)")
44+
stock_pice_updown1 = stock_pice_updown_list1[0].text
45+
46+
#주식 상승하락폭(퍼센트)
47+
stock_pice_updown_list2 = soupCB1.select("#_topItems1 > tr:nth-child("+n+") > td:nth-child(4)")
48+
stock_pice_updown2 = stock_pice_updown_list2[0].text
49+
50+
result.append([stock_name]+[stock_price]+[stock_pice_updown1]+[stock_pice_updown2])
51+
except:
52+
continue
53+
54+
return
55+
56+
def main():
57+
result= []
58+
check = 0
59+
print('stock crawling >>>>>>>>>>>>>>>>>>>>>>>>')
60+
Stock_crawling(result)
61+
print(result)
62+
CB_tbl = pd.DataFrame(result,columns =('name','price','updown','updown(%)'))
63+
CB_tbl.to_csv('./3-최준현-201835753.csv', encoding = 'cp949', mode = 'w',index = True)
64+
65+
main()

0 commit comments

Comments
 (0)