爬取上市公司數據、分析數據,并用可視化現實全國各地區公司數量
作者:松鼠愛吃餅干
在很多網站上,都會以表格的形式展示數據,而我們獲取這種數據只需通過十幾行爬蟲代碼就可以搞定,輕松搞定網頁爬蟲,實現高效辦公。
前言
在很多網站上,都會以表格的形式展示數據,而我們獲取這種數據只需通過十幾行爬蟲代碼就可以搞定,輕松搞定網頁爬蟲,實現高效辦公
知識點:
- 爬蟲基本原理
- requests的簡單使用
- pandas庫
- pyecharts可視化工具
第三方庫:
- requests
- pandas
開發環境:
- Python 3.6
- Pycharm
這里就只展示部分代碼了
爬蟲代碼
1.導入工具
- from urllib.parse import urlencode
- import requests
- import csv
- from bs4 import BeautifulSoup
- import pandas as pd
2.網頁提取函數
- def get_one_page(i):
- paras = {
- 'reportTime': '2019-12-31',
- # 可以改報告日期,比如2018-6-30獲得的就是該季度的信息
- 'pageNum': i # 頁碼
- }
- url = 'http://s.askci.com/stock/a/?' + urlencode(paras)
- response = requests.get(url, headers=headers)
- if response.status_code == 200:
- return response.text
3.提取表格數據
- def parse_one_page(html):
- tb = pd.read_html(html)[3]
- return tb
4.保存數據
- def save_csv():
- pass
- if __name__ == '__main__':
- html = get_one_page(1)
- parse_one_page(html)
運行代碼,效果如下圖

數據可視化代碼
- ffrom pyecharts import options as opts
- from pyecharts.charts import Map
- from pyecharts.faker import Faker
- df = pd.read_csv('1.csv')
- 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]]
- c = (
- Map()
- .add("上市公司數量 ", data, "china")
- .set_global_opts(
- title_opts=opts.TitleOpts(title="上市公司數量分布"),
- visualmap_opts=opts.VisualMapOpts(max_=700),
- )
- )
- c.render_notebook()
最后運行代碼,效果如下圖

責任編輯:未麗燕
來源:
今日頭條