您的位置:首页 > 脚本大全 > > 正文

python提取json数据(Python爬取数据保存为Json格式的代码示例)

更多 时间:2021-10-19 06:20:04 类别:脚本大全 浏览量:2226

python提取json数据

Python爬取数据保存为Json格式的代码示例

python爬取数据保存为json格式

代码如下:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • #encoding:'utf-8'
  • import urllib.request
  • from bs4 import beautifulsoup
  • import os
  • import time
  • import codecs
  • import json
  • #找到网址
  • def getdatas():
  •   # 伪装
  •   header={'user-agent':"mozilla/5.0 (x11; cros i686 2268.111.0) applewebkit/536.11 (khtml, like gecko) chrome/20.0.1132.57 safari/536.11"}
  •   # url="https://movie.douban.com/top250"
  •   url="file:///e:/scrapy/2018-04-27/movie/movie.html"
  •   ret=urllib.request.request(url=url,headers=header)
  •   # 打开网页
  •   res=urllib.request.urlopen(ret)
  •   # 转化格式
  •   response=beautifulsoup(res,'html.parser')
  •   # 找到想要数据的父元素
  •   datas=response.find_all('li',{'class':'item'})
  •   # print(datas)
  •   #创建存放数据的文件夹
  •   folder_name="output"
  •   if not os.path.exists(folder_name):
  •       os.mkdir(folder_name)
  •   # 定义文件
  •   current_time=time.strftime('%y-%m-%d',time.localtime())
  •   file_name="move"+current_time+".json"
  •   # 文件路径
  •   file_path=folder_name+"/"+file_name
  •   for item in datas:
  •     # print(item)
  •     dict1={}
  •     dict1['rank']=item.find('li',{'class':'pic'}).find('em').get_text()
  •     dict1['title']=item.find('li',{'class':'info'}).find('li',{'class':'hd'}).find('a').find('span',{'class':'title'}).get_text()
  •     dict1['picurl']=item.find('li',{'class':'pic'}).find('a').find('img').get('src')
  •     # print(picurl)
  •     # 保存数据为json格式
  •     try:
  •       with codecs.open(file_path,'a',encoding="utf-8") as fp:
  •         fp.write(json.dumps(dict1,ensure_ascii=false)+",\n")
  •     except ioerror as err:
  •       print('error'+str(err))
  •     finally:
  •       fp.close()
  •   pass
  • getdatas()
  • # 爬取数据
  • 总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对开心学习网的支持。如果你想了解更多相关内容请查看下面相关链接

    原文链接:https://blog.csdn.net/zhanghl150426/article/details/82022339

    您可能感兴趣