欢迎访问生活随笔!

生活随笔

您现在的位置是:首页 > 形式科学 > 统计学 > 数据分析

数据分析

爬取上市公司数据、分析数据,并用可视化现实全国各地区公司数量

发布时间:2022-06-05数据分析 统计学
在很多网站上,都会以表格的形式展示数据,而我们获取这种数据只需通过十几行爬虫代码就可以搞定,轻松搞定网页爬虫,实现高效办公。

前言

在很多网站上,都会以表格的形式展示数据,而我们获取这种数据只需通过十几行爬虫代码就可以搞定,轻松搞定网页爬虫,实现高效办公

 

知识点:

  • 爬虫基本原理
  • requests的简单使用
  • pandas库
  • pyecharts可视化工具

第三方库:

  • requests
  • pandas

开发环境:

  • Python 3.6
  • Pycharm

这里就只展示部分代码了

爬虫代码

1.导入工具

  1. from urllib.parse import urlencode 
  2. import requests 
  3. import csv 
  4. from bs4 import BeautifulSoup 
  5. import pandas as pd 

2.网页提取函数

  1. def get_one_page(i): 
  2.     paras = { 
  3.         'reportTime': '2019-12-31', 
  4.         # 可以改报告日期,比如2018-6-30获得的就是该季度的信息 
  5.         'pageNum': i  # 页码 
  6.     } 
  7.     url = 'http://s.askci.com/stock/a/?' + urlencode(paras) 
  8.     response = requests.get(url, headers=headers) 
  9.     if response.status_code == 200: 
  10.         return response.text 

3.提取表格数据

  1. def parse_one_page(html): 
  2.     tb = pd.read_html(html)[3] 
  3.     return tb 

4.保存数据

  1. def save_csv(): 
  2.     pass 
  3.  
  4. if __name__ == '__main__': 
  5.     html = get_one_page(1) 
  6.     parse_one_page(html) 

运行代码,效果如下图

 

数据可视化代码

  1. ffrom pyecharts import options as opts 
  2. from pyecharts.charts import Map 
  3. from pyecharts.faker import Faker 
  4. df = pd.read_csv('1.csv') 
  5.  
  6.  
  7. data = [['北京',331], ['西藏',18], ['湖北',103], ['上海',298], ['天津',50], ['陕西',51], ['安徽',106], ['河北',58], ['贵州',29], ['河南',79], ['山东',206], ['广东',603], ['江西',41], ['江苏',420], ['浙江',443], ['湖南',105], ['黑龙江',37], ['辽宁',78], ['福建',134], ['四川',125], ['重庆',50], ['广西',38], ['新疆',54], ['云南',37], ['山西',38], ['宁夏',14], ['海南',30], ['甘肃',33], ['吉林',42], ['内蒙古',25], ['青海',12]] 
  8. c = ( 
  9.     Map() 
  10.     .add("上市公司数量 ", data, "china") 
  11.     .set_global_opts( 
  12.         title_opts=opts.TitleOpts(title="上市公司数量分布"), 
  13.         visualmap_opts=opts.VisualMapOpts(max_=700), 
  14.     ) 
  15.  
  16. c.render_notebook() 

最后运行代码,效果如下图