快乐的小猪哥哥 2021-02-20 14:13 采纳率: 63.6%
浏览 375
已结题

python爬取json并写入mongodb

用python爬取https://py.btc126.com/json/markets.json 这个json,

写入到mongodb数据库,同时以 json中的 id为唯一字段, mongodb里如果没有就插入,已经存在就更新。

谢谢。

  • 写回答

6条回答 默认 最新

  • 一心萝卜 2021-02-20 15:14
    关注
    from pymongo import MongoClient
    import requests
    
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36",
    }
    # 获取json数据
    response = requests.get("https://py.btc126.com/json/markets.json", headers=headers)
    data = response.json()
    # 建立MongoDB数据库连接
    client = MongoClient('127.0.0.1', 27017)
    # 连接所需数据库,test为数据库名
    db = client.test
    # 连接所用集合,也就是我们通常所说的表,json为表名
    collection = db.json
    # 读出集合中所有数据
    json_datas = collection.find()
    for json_data in data:
        for item in json_datas:
            if json_data.get("id") == item.get("id"):
                # 更新
                collection.update({"id":json_data.get("id")},json_data)
                break
        else:
            # 插入
            collection.insert(json_data)
    

    这。。。

    评论

报告相同问题?

悬赏问题

  • ¥15 vc6.0中想运行代码的时候总是提示无法打开文件是怎么回事
  • ¥25 关于##爬虫##的问题,如何解决?:
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题