爬取了同花順上概念板塊的成分股
資料有4列,分別是板塊**,板塊名字,成分股**以及對應的公司
原始碼貼出來了,初步學習爬蟲,寫的十分難看。。。。
1#!/usr/bin/env python32#
-*- coding: utf-8 -*-
3"""
4created on fri nov 17 19:41:44 201756
@author: mr.zerow78
同花順板塊成分股
9"""
1011
#首先不同板塊位址不同
需要高出不同板塊頁數有多少,才能得出位址
13import
urllib.request
14from lxml import
etree
15import
pandas as pd
16import
time
1718
#爬取板塊名稱以及**並且存在檔案
19 with urllib.request.urlopen('
') as f:
20 text = f.read().decode('
gb2312')
2122 html =etree.html(text)
2324 gnbk = html.xpath('
/html/body/div[2]/div[1]/div//div//div//a')
25 thsgnbk =
26for i in
range(len(gnbk)):
272829#
板塊**
30 bkcode = html.xpath('
/html/body/div[2]/div[1]/div//div//div//a/@href')
31 bkcode = list(map(lambda x : x.split('
/')[-2], bkcode))
32 data =
3334#儲存
35 gnbk = pd.dataframe(data, index =bkcode)
36 gnbk.to_csv('
gnbk.csv')
3738
print('
板塊名稱以及**已爬取,儲存檔名:gnbk.csv')
39#匯入板塊名稱和**
40 data = pd.read_csv('
gnbk.csv')
41#建立資料框,四列【板塊id, 板塊name, 成分股id, 成分股name】
4243 bk_id =
44 bk_name =
45 s_id =
46 s_name =
47 icount = 1
48print('
爬取開始!')
49 start =time.time()
50for i in
range(len(data)):
5152 bk_code =str(data.iloc[i, 0])
53 name = str(data.iloc[i, 1])
54 url = '
detail/code/
' + bk_code + '/'
55print('
%d: %s
' %(icount, name))
56 icount += 1
5758
with urllib.request.urlopen(url) as f:
59 text = f.read().decode('
gbk', '
ignore')
6061
#得出板塊成分股有多少頁
62 html =etree.html(text)
6364 result = html.xpath('
//*[@id="m-page"]/span/text()')
65try
:66 page = int(result[0].split('
/')[-1])
67for j in
range(page):
68 page_n = str(j + 1)
69 curl = '
detail/order/desc/page/
' + page_n+ '
/ajax/1/code/
' +bk_code
70with urllib.request.urlopen(curl) as f:
71 text = f.read().decode('
gbk'
)72 html =etree.html(text)73#
成分股**
74 stock_code = html.xpath('
/html/body/table/tbody/tr/td[2]/a/text()')
75#成分股名稱
76 stock_name = html.xpath('
/html/body/table/tbody/tr/td[3]/a/text()')
77 s_id +=stock_code
78 s_name +=stock_name
79 bk_id.extend([bk_code]*len(stock_code))
80 bk_name.extend([name]*len(stock_name))
8182
except
indexerror as e:
83 curl =url
84with urllib.request.urlopen(curl) as f:
85 text = f.read().decode('
gbk'
)86 html =etree.html(text)87#
成分股**
88 stock_code = html.xpath('
//*[@id="maincont"]/table/tbody/tr/td[2]/a/text()')
89#成分股名稱
90 stock_name = html.xpath('
//*[@id="maincont"]/table/tbody/tr/td[3]/a/text()
')
91 s_id +=stock_code
92 s_name +=stock_name
93 bk_id.extend([bk_code]*len(stock_code))
94 bk_name.extend([name]*len(stock_name))
9596
97 data_dict = dict(bk_id = bk_id, bk_name = bk_name, s_id = s_id, s_name =s_name)
98 cdata =pd.dataframe(data_dict)
99 cdata.to_csv('
chengfengu.csv')
100 end =time.time()
101print('
'%(time.ctime(end), time.ctime(start)))
同花順公式轉python 同花順公式轉通達信,謝謝
drawtext 賣出條件andd2 93andd2 97,high 1.13,賺95 coloryellow drawtext 賣出條件andd2 97andd2 100,high 1.13,賺99 coloryellow drawtext 賣出條件andd2 100,high drawtext ...
同花順C 筆試
1 常用的客戶區滑鼠訊息有那些?windows只把鍵盤訊息傳送到當前具有輸入焦點的視窗。滑鼠訊息則不同 當滑鼠經過視窗或在視窗內被單擊,則即使視窗是非活動視窗或不帶輸入焦點,視窗過程還是會收到滑鼠訊息。windows定義了21種滑鼠訊息。其中11種訊息與客戶區無關,稱為 非客戶區訊息 視窗的非客戶區...
同花順小遊戲
本案例用oc語言編寫只是簡單的側重同花順遊戲邏輯方面先將遊戲雙方的牌點數統一轉化成int型變數,然後統一比較來決定出本局遊戲的勝負。花色分組情況 1 紅桃,2 黑桃,3 方片,4 梅花,nsmutablearray getalldatafromfile return data bool compar...