python爬虫福布斯排行榜数据并可视化

本文介绍如何使用Python的requests库抓取福布斯排行榜数据,存储为Excel文件,然后利用matplotlib对数据进行分析和可视化,包括各国上榜人数的比例统计。通过条形图和饼状图展示数据。
摘要由CSDN通过智能技术生成
  • 使用python requests库爬取福布斯排行榜数据存放到本地excel文件,并通过matplotlab将数据进行分析和可视化
  • 原网页如下所示 https://www.phb123.com/renwu/fuhao/shishi_1.html
    在这里插入图片描述
  • 保存的excel数据如下所示
    在这里插入图片描述
  • 福布斯前十排行的数据可视化效果
    在这里插入图片描述
  • 各个国家上榜人数所占比例的统计与可视化
    在这里插入图片描述
  • 爬取网页数据解析为一个list集合的代码
## 读取一页的数据
def loaddata(url):
   from bs4 import BeautifulSoup
   import requests
   headers = {
       'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) '
                    'Chrome/72.0.3626.121 Safari/537.36'
   }
   f = requests.get(url,headers=headers)   #Get该网页从而获取该html内容
   soup = BeautifulSoup(f.content, "lxml")  #用lxml解析器解析该网页的内容, 好像f.text也是返回的html
   # print(f.content.decode())        #尝试打印出网页内容,看是否获取成功
   ranktable = soup.find_all('table',class_="rank-table" )[0]   #获取排行榜表格
   trlist = ranktable.find_all('tr') #获取表格中所有tr标签
   trlist.pop(0) #去掉第一个元素
   persionlist = []
   for tr in trlist:
      persion = {}
      persion['num'] = tr.find_all('td')[0].string  #编号
      persion['name'] = tr.find_all('td')[1].p.string #名称
      persion['money'] = tr.find_all('td')[2].string #财产
      persion['company'] = tr.find_all('td')[3].string #企业
      persion['country'] = tr.find_all('td')[4].a.string #国家
      persionlist.append(persion)
   print("页面"+url+"爬取成功")
   return persionlist


## 读取所有福布斯排行榜数据
def loadalldata():
   alldata = []
   for i in range(1,16,1):
      url = "https://www.phb123.com/renwu/fuhao/shishi_"+str(i)+".html"
      data = loaddata(url)
      alldata = alldata + data
   return alldata
  • 将爬取的list集合保存到本地excel文件的代码
## 将爬取的数据保存到文件
def savedata(path,persionlist):
   import xlwt
   w
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值