香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > python >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

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


时间:2022-04-02 10:28 作者:admin


python/' target='_blank'>python爬取数据保存为Json格式

代码如下:

#encoding:'utf-8'import urllib.requestfrom bs4 import BeautifulSoupimport osimport timeimport codecsimport 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()  passgetDatas()# 爬取数据

总结

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

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)