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中的包和模块实例
Nov 22 Python
Python中的集合类型知识讲解
Aug 19 Python
小议Python中自定义函数的可变参数的使用及注意点
Jun 21 Python
基于python OpenCV实现动态人脸检测
May 25 Python
利用Python将每日一句定时推送至微信的实现方法
Aug 13 Python
Pycharm 实现下一个文件引用另外一个文件的方法
Jan 17 Python
python的一些加密方法及python 加密模块
Jul 11 Python
Python 类的魔法属性用法实例分析
Nov 21 Python
python实现处理mysql结果输出方式
Apr 09 Python
python3 自动打印出最新版本执行的mysql2redis实例
Apr 09 Python
keras的backend 设置 tensorflow,theano操作
Jun 30 Python
pycharm永久激活超详细教程
Oct 29 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
全国FM电台频率大全 - 2 天津市
2020/03/11 无线电
php取整函数ceil,floo,round的用法及介绍
2013/08/31 PHP
CI框架常用经典操作类总结(路由,伪静态,分页,session,验证码等)
2016/11/21 PHP
PHP使用ActiveMQ实现消息队列的方法详解
2019/05/31 PHP
Javascript表格翻页效果的具体实现
2013/10/05 Javascript
浅析JavaScript中的delete运算符
2013/11/30 Javascript
纯css+js写的一个简单的tab标签页带样式
2014/01/28 Javascript
jquery自动补齐功能插件flexselect用法示例
2016/08/06 Javascript
javascript简单链式调用案例分析
2017/05/10 Javascript
Javascript实现倒计时时差效果
2017/05/18 Javascript
JavaScript中常见的八个陷阱总结
2017/06/28 Javascript
es6 字符串String的扩展(实例讲解)
2017/08/03 Javascript
jQuery中extend函数简单用法示例
2017/10/11 jQuery
vue-router路由懒加载和权限控制详解
2017/12/13 Javascript
如何使用 vue + d3 画一棵树
2018/12/03 Javascript
js中对象和面向对象与Json介绍
2019/01/21 Javascript
解决Vue中 父子传值 数据丢失问题
2019/08/27 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
微信小程序 scroll-view 水平滚动实现过程解析
2019/10/12 Javascript
微信小程序实现发微博功能的示例代码
2020/06/24 Javascript
[01:29]2014DOTA2展望TI 剑指西雅图DK战队专访
2014/06/30 DOTA
Python实现自定义函数的5种常见形式分析
2018/06/16 Python
python pandas读取csv后,获取列标签的方法
2018/11/12 Python
基于Python实现迪杰斯特拉和弗洛伊德算法
2020/05/27 Python
python networkx 包绘制复杂网络关系图的实现
2019/07/10 Python
在Python中实现函数重载的示例代码
2019/12/12 Python
如何基于Python + requests实现发送HTTP请求
2020/01/13 Python
python实现人机五子棋
2020/03/25 Python
Python判断字符串是否为空和null方法实例
2020/04/26 Python
详解Python中第三方库Faker
2020/09/25 Python
师生聚会感言
2014/01/26 职场文书
销售提升方案
2014/06/07 职场文书
推广活动策划方案
2014/08/23 职场文书
运动会开幕词
2015/01/28 职场文书
MongoDB balancer的使用详解
2021/04/30 MongoDB
新手初学Java List 接口
2021/07/07 Java/Android