欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-24 19:50:28
python爬取数据保存为json格式 代码如下: #encoding:'utf-8' import urllib.request from bs4 imp...

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()
# 爬取数据

总结

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