打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
数据保存!!!Python 爬取网页数据后,三种保存格式

    Python爬取网站数据后,数据的保存方式是大家比较关心的意一件事情,也是为接下来是否能够更简便的处理数据的关键步骤。下面,就Python爬取网页数据后的保存格式进行简单介绍。三种保存格式为txt格式、CSV格式和数据库格式。

    首先,保存为txt格式。话不多说,直接上代码!    

  1. # -*- coding: utf-8 -*-
  2. import requests
  3. import json
  4. import html
  5. import urllib
  6. import sys
  7. import re
  8. import random
  9. import time
  10. from threading import Timer
  11. from bs4 import BeautifulSoup
  12. reload(sys)
  13. sys.setdefaultencoding('utf-8')
  14. headers ={'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 BIDUBrowser/8.7 Safari/537.36'}
  15. def get_html1(i):
  16.     url = 'https://www.ppmoney.com/StepUp/List/-1/{}/fixedterm/true/false?_={}'
  17.     html = requests.get(url.format(i,random.randint(1501050773102,1501051774102)),headers=headers)
  18.     return html.content
  19. def get_data1(html):
  20.     data1 = json.loads(html)
  21.     data = data1['PackageList']['Data']
  22.     for i in data:
  23.         #产品名称,利率,金额
  24.          print i['name'],'\t',i['profit'],'\t',i['investedMoney']
  25.        with open('d:PPmonenyshengxinbao9.6.txt','a') as f:
  26.            f.write(i['name']+'\t'+str(i['profit'])+'\t'+str(i['investedMoney'])+'\n'
  27. for i in range(1,10):
  28.     get_data1(get_html1(i))   

执行代码后,生成文件打开后显示如下:

    2.保存为CSV格式。

  1. # -*- coding: utf-8 -*-
  2. import requests
  3. import pandas as pd
  4. import numpy as np
  5. import json
  6. import html
  7. import urllib
  8. import sys
  9. import re
  10. import random
  11. import time
  12. from threading import Timer
  13. from bs4 import BeautifulSoup
  14. reload(sys)
  15. sys.setdefaultencoding('utf8')
  16. headers ={'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 BIDUBrowser/8.7 Safari/537.36'}
  17. def get_html1(i):
  18.     url = 'https://www.ppmoney.com/StepUp/List/-1/{}/fixedterm/true/false?_={}'
  19.     html = requests.get(url.format(i,random.randint(1501050773102,1501051774102)),headers=headers)
  20.     ceshi1=html.content
  21.     data = json.loads(ceshi1)
  22.     return(data['PackageList']['Data'])
  23. data_ceshi=pd.DataFrame([])
  24. html_list=[]
  25. for i in range(100):
  26.     html_list.append(get_html1(i))
  27. for i,heml_avg in enumerate(html_list):
  28.     tmp=pd.DataFrame(heml_avg)
  29.     tmp["page_id"]=i
  30.     data_ceshi=data_ceshi.append(tmp)
  31. print data_ceshi
  32. data_ceshi.to_csv('e:/data.csv',encoding='gbk')

保存后,结果如下:

3.保存到数据库。

  1. # -*- coding: utf-8 -*-
  2. import requests
  3. import pandas as pd
  4. import numpy as np
  5. import json
  6. import html
  7. import urllib
  8. import sys
  9. import re
  10. import random
  11. import MySQLdb
  12. import time
  13. from threading import Timer
  14. from bs4 import BeautifulSoup
  15. reload(sys)
  16. sys.setdefaultencoding('utf8')
  17. headers ={'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 BIDUBrowser/8.7 Safari/537.36'}
  18. db = MySQLdb.connect(host = 'localhost',port = 3306,user = 'zhouliye',passwd = '123456zz',db = 'abbc',charset='utf8')
  19. print '连接上数据库了!'
  20. cursor = db.cursor()
  21. cursor.execute("DROP TABLE IF EXISTS shengxb")
  22. sql = """CREAtE TABLE SHENGXB(
  23.           beginTime DATETIME,
  24.           endTime DATETIME,
  25.           investedMoney float,
  26.           name CHAR(50))"""
  27. cursor.execute(sql)
  28. def get_html1(i):
  29.     url = 'https://www.ppmoney.com/StepUp/List/-1/{}/fixedterm/true/false?_={}'
  30.     html = requests.get(url.format(i,random.randint(1501050773102,1501051774102)),headers=headers)
  31.     ceshi1=html.content
  32.     data = json.loads(ceshi1)
  33.     return(data['PackageList']['Data'])
  34. data_ceshi=pd.DataFrame([])#建立一个空数据框
  35. html_list =[]#建立一个空列表
  36. for i in range(10):
  37.     html_list.append(get_html1(i))
  38. for i in html_list:
  39.     for j in i:
  40.         a = j['beginTime']
  41.         b = j['endTime']
  42.         c = j['investedMoney']
  43.         d = j['name']
  44.         print u'开始时间: ' + str(a) + u'结束时间: '+ str(b) + u'投资金额: ' + str(c) + u'项目名称' + str(d)
  45.         insert_SHENGXB = ("INSERT INTO SHENGXB (beginTime,endTime,investedMoney,name) VALUES(%s,%s,%s,%s)")
  46.         data_data= (a, b, c, d)
  47.         cursor.execute(insert_SHENGXB,data_data)
  48.         db.commit()
  49.         print '******完成此条插入!'




print '爬取数据并插入mysql数据库完成...'

保存后显示如下:

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python 接入图灵机器人智能聊天
http响应总结:常见http响应错误总结
Python爬虫爬取数据时的自动登录方法
python+pytest接口自动化之token关联登录的实现
Python—requests模块详解
Python Flask Restful token验证
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服