Python爬虫练习——抓取东方财富静态内容

刚学了一点python,写了一个简单的爬虫来抓取股票信息,最后将数据储存在excel文件中。功能比较简单,拓展性较差,以后可能会用scrapy重写。

话不多说直接上代码:


# -*- coding: utf-8 -*-

import urllib2

import json

import datetime

import pandas as pd

'''

根据url的response可以看出,这是一个js文件,可以将其转变为json格式后再进行处理。

'''

def pages_num():

url = "http://nufm.dfcfw.com/EM_Finance2014NumericApplication/JS.aspx?type=CT&cmd=C._A&sty=FCOIATA&sortType=C" \

"&sortRule=-1&page=1&pageSize=20&js=var%20quote_123%3d{rank:[(x)],pages:(pc)}" \

"&token=7bc05d0d4c3c22ef9fca8c2a912d779c&jsName=quote_123&_g=0.5072298033821419"

request = urllib2.Request(url)

response = urllib2.urlopen(request)

data = response.read()

start_pos = data.index('=')

js_object = data[start_pos + 1:]

# print js_object[0] + '"' +js_object[1:5] + '"' + js_object[5:-10] + '"' +js_object[-10:-5] +'"' +js_object[-5:]

json_data = js_object[0] + '"' + js_object[1:5] + '"' + js_object[5:-10] + '"' + js_object[ -10:-5] + '"' \

+ js_object[-5:]

dict = json.loads(json_data)

pages = dict['pages']

return pages

#获取url池

def get_urls():

url_list = []

start = 1

while (start <= pages_num()):

url = "http://nufm.dfcfw.com/EM_Finance2014NumericApplication/JS.aspx?type=CT&cmd=C._A&sty=FCOIATA"

url += "&sortType=C&sortRule=-1&page=%d&pageSize=20" % start

url += "&js=var%20quote_123%3d{rank:[(x)],pages:(pc)}&token=7bc05d0d4c3c22ef9fca8c2a912d779c"

url += "&jsName=quote_123&_g=0.5072298033821419"

url_list.append(url)

start += 1

return url_list

#创建文件,文件名根据当前系统日期生成。文件目录可以自己更改,应该可以自动生成,但是这里没有去实现

today =datetime.date.today()

str_date = '%Y%m%d'

str_today = today.strftime(str_date)

headers = ['代码','名称','最新价','涨跌额','涨跌幅','振幅(%)','成交量(手)','成交额','昨收','今开','最高','最低',

'量比','换手(%)','市盈']

f = open('D:/stock_profit/stock_pool_%s.xlsx' % str_today,'a+')

f.close()

'''

主程序,因为获取的数据是list里的string,没有key,pandas生成dataframe的时候是没有列头的,

可以使用列的index选择要储存的列,并用header重命名

'''

url_list = get_urls()

print url_list

bd = pd.DataFrame()

for url in url_list:

request = urllib2.Request(url)

response = urllib2.urlopen(request)

data = response.read()

start_pos = data.index('=')

js_object = data[start_pos + 1:]

json_data = js_object[0]+'"'+js_object[1:5]+'"'+js_object[5:-10] + '"' + js_object[-10:-5] + '"' + js_object[-5:]

dict = json.loads(json_data)

list = dict['rank']

pd_data = []

for x in list:

stock_meg = x.split(',')

stock_pool = []

for y in stock_meg:

stock_pool.append(y)

pd_data.append(stock_pool)

df = pd.DataFrame(pd_data)

bd = bd.append(df,ignore_index=True)

print bd

#write data to excel

pd.DataFrame.to_excel(bd,excel_writer='D:/stock_profit/stock_pool_%s.xlsx' % str_today,index=None,

columns=[1,2,3,4,5,6,7,8,9,10,11,12,22,23,24],header=headers)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,695评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,569评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,130评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,648评论 1 297
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,655评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,268评论 1 309
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,835评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,740评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,286评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,375评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,505评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,185评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,873评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,357评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,466评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,921评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,515评论 2 359

推荐阅读更多精彩内容