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


Posted in Python onApril 09, 2019

python爬取数据保存为Json格式

代码如下:

#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('div',{'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('div',{'class':'pic'}).find('em').get_text()
    dict1['title']=item.find('div',{'class':'info'}).find('div',{'class':'hd'}).find('a').find('span',{'class':'title'}).get_text()
    dict1['picUrl']=item.find('div',{'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()
# 爬取数据

总结

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

Python 相关文章推荐
Python使用py2exe打包程序介绍
Nov 20 Python
Python实现把回车符\r\n转换成\n
Apr 23 Python
python字典排序实例详解
May 20 Python
网红编程语言Python将纳入高考你怎么看?
Jun 07 Python
神经网络相关之基础概念的讲解
Dec 29 Python
Python 2/3下处理cjk编码的zip文件的方法
Apr 26 Python
对python3 Serial 串口助手的接收读取数据方法详解
Jun 12 Python
使用Python文件读写,自定义分隔符(custom delimiter)
Jul 05 Python
从python读取sql的实例方法
Jul 21 Python
Python 保存加载mat格式文件的示例代码
Aug 04 Python
详解修改Anaconda中的Jupyter Notebook默认工作路径的三种方式
Jan 24 Python
Python pygame实现中国象棋单机版源码
Jun 20 Python
python实现QQ空间自动点赞功能
Apr 09 #Python
Python实现的多进程拷贝文件并显示百分比功能示例
Apr 09 #Python
Python使用crontab模块设置和清除定时任务操作详解
Apr 09 #Python
Python实现的读取文件内容并写入其他文件操作示例
Apr 09 #Python
Python实现根据日期获取当天凌晨时间戳的方法示例
Apr 09 #Python
Python匿名函数及应用示例
Apr 09 #Python
用Python中的turtle模块画图两只小羊方法
Apr 09 #Python
You might like
PHP和.net中des加解密的实现方法
2013/02/27 PHP
yii2.0实现pathinfo的形式访问的配置方法
2016/04/06 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
定时器(setTimeout/setInterval)调用带参函数失效解决方法
2013/03/26 Javascript
Jquery attr("checked") 返回checked或undefined 获取选中失效
2013/10/10 Javascript
Node.js复制文件的方法示例
2016/12/29 Javascript
Webpack如何引入bootstrap的方法
2017/06/17 Javascript
webpack构建换肤功能的思路详解
2017/11/27 Javascript
javascript实现QQ空间相册展示源码
2017/12/12 Javascript
vue.js 实现图片本地预览 裁剪 压缩 上传功能
2018/03/01 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
2018/07/24 jQuery
Postman动态获取返回值过程详解
2020/06/30 Javascript
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
[48:32]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs VG
2018/04/01 DOTA
[01:03:41]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第一场 12.17
2020/12/19 DOTA
使用PDB模式调试Python程序介绍
2015/04/05 Python
Python多进程并发(multiprocessing)用法实例详解
2015/06/02 Python
分析并输出Python代码依赖的库的实现代码
2015/08/09 Python
Python中利用Scipy包的SIFT方法进行图片识别的实例教程
2016/06/03 Python
python select.select模块通信全过程解析
2017/09/20 Python
python代理工具mitmproxy使用指南
2019/07/04 Python
python实现在函数中修改变量值的方法
2019/07/16 Python
Python 实现大整数乘法算法的示例代码
2019/09/17 Python
解决Keras 与 Tensorflow 版本之间的兼容性问题
2020/02/07 Python
HTML5新特性 多线程(Worker SharedWorker)
2017/04/24 HTML / CSS
Canvas获取视频第一帧缩略图的实现
2020/11/11 HTML / CSS
VELTRA台湾:世界自由行专家
2017/08/15 全球购物
英国街头品牌:Bee Inspired Clothing
2018/02/12 全球购物
校园安全教育广播稿
2014/02/17 职场文书
计划生育证明格式范本
2014/09/12 职场文书
上甘岭观后感
2015/06/10 职场文书
2016年党课培训学习心得体会
2016/01/07 职场文书
农村房屋租赁合同(范本)
2019/07/23 职场文书
导游词之青城山景区
2019/09/27 职场文书
写给消防战士们的一封慰问信
2019/10/07 职场文书
MySQL之select、distinct、limit的使用
2021/11/11 MySQL