mongodb和json简直是绝配,因为他们是‘长得’一样的,都像是dict。
爬取下来的信息直接放进mongdb里不就好了?还是要看爬取下来的数据结构,上回的历史行情,数据都在[[],[]...]list里面,没有合适的key-value,就不大适合,对于比较标准的json,就很适合放进mongodb了。
在入库之前,记得先开启mongodb,cmd是mongod --dbpath 数据库位置.
这回看一看东方财富网的股东户数。http://data.eastmoney.com/gdhs/
更改一下查询时间,看到信息如下:
image.png
发现数据很规整的在key-value里面。
存入mongodb就好了。
import pymongo
import json
import requests
def tomongo():
url ='http://data.eastmoney.com/DataCenter_V3/gdhs/GetList.ashx?reportdate=2017-12-31&market=&changerate==&range==&pagesize=50&page=1&sortRule=-1&sortType=NoticeDate&js=var%20yynUkdJF¶m=&rt=50803225'
file = requests.get(url).text
m = json.loads(file)
n = m['data']
cilent = pymongo.MongoClient()
db = cilent.gudongrenshu
data =db.gdrsdata
data.insert_many(n)
m = json.loads(file)是将str转为dict
n = m['data']是需要爬取的数据
cilent = pymongo.MongoClient()是建立连接
data =db.gdrsdata有则添加,无则创建
data.insert_many(n)一次性添加多条数据。
效果:
image.png
网友评论