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的Django框架来制作一个RSS阅读器
Jul 22 Python
浅谈Python由__dict__和dir()引发的一些思考
Oct 30 Python
pandas string转dataframe的方法
Apr 11 Python
Python使用add_subplot与subplot画子图操作示例
Jun 01 Python
Python打包方法Pyinstaller的使用
Oct 09 Python
Python的高阶函数用法实例分析
Apr 11 Python
python实现扫描局域网指定网段ip的方法
Apr 16 Python
Python函数参数匹配模型通用规则keyword-only参数详解
Jun 10 Python
python Tcp协议发送和接收信息的例子
Jul 22 Python
Python更新所有已安装包的操作
Feb 13 Python
在django中使用post方法时,需要增加csrftoken的例子
Mar 13 Python
使用matlab 判断两个矩阵是否相等的实例
May 11 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 基本语法格式
2009/12/15 PHP
PHP中调用ASP.NET的WebService的代码
2011/04/22 PHP
PHP Parse Error: syntax error, unexpected $end 错误的解决办法
2012/06/05 PHP
PHP写的获取各搜索蜘蛛爬行记录代码
2012/08/21 PHP
php5.5中类级别的常量使用介绍
2013/10/02 PHP
Smarty中调用FCKeditor的方法
2014/10/27 PHP
php阿拉伯数字转中文人民币大写
2015/12/21 PHP
Symfony2实现在controller中获取url的方法
2016/03/18 PHP
php判断IP地址是否在多个IP段内
2020/08/18 PHP
搭建pomelo 开发环境
2014/06/24 Javascript
javascript基本类型详解
2014/11/28 Javascript
JS实现转动随机数抽奖特效代码
2020/04/16 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
2016/08/11 Javascript
解析Javascript单例模式概念与实例
2016/12/05 Javascript
jQuery使用JSONP实现跨域获取数据的三种方法详解
2017/05/04 jQuery
js分页之前端代码实现和请求处理
2017/08/04 Javascript
JS获取浏览器地址栏的多个参数值的任意值实例代码
2018/07/24 Javascript
Vue 打包体积优化方案小结
2020/05/20 Javascript
原生jQuery实现只显示年份下拉框
2020/12/24 jQuery
[56:46]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VP vs Effect
2018/04/01 DOTA
python判断windows系统是32位还是64位的方法
2015/05/11 Python
python处理大数字的方法
2015/05/27 Python
Python中的getopt函数使用详解
2015/07/28 Python
Python绘制3d螺旋曲线图实例代码
2017/12/20 Python
python 重命名轴索引的方法
2018/11/10 Python
python dict如何定义
2020/09/02 Python
html5实现完美兼容各大浏览器的播放器
2014/12/26 HTML / CSS
行政工作个人的自我评价
2014/02/13 职场文书
《纸船和风筝》教学反思
2014/02/15 职场文书
小学数学教研活动总结
2014/07/01 职场文书
蓬莱阁导游词
2015/02/04 职场文书
2016年教师党员公开承诺书
2016/03/24 职场文书
php微信小程序解包过程实例详解
2021/03/31 PHP
python requests模块的使用示例
2021/04/07 Python
centos8安装nginx1.9.1的详细过程
2021/08/02 Servers
redis的list数据类型相关命令介绍及使用
2022/01/18 Redis