GDP年份数据

import requests
from lxml import etree
import csv #引入
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0"} #伪装

url='https://www.kylc.com/stats/global/yearly_per_country/g_gdp/chn-usa-jpn.html' #网页的链接

rp=requests.get(url,headers=headers) #发送请求
html=etree.HTML(rp.text) #获取网页源码
divs=html.xpath('/html/body/div[2]/div[1]/div[5]/div[1]/div[2]/div/div[2]/div/table/tbody/tr')
coun=html.xpath('/html/body/div[2]/div[1]/div[5]/div[1]/div[2]/div/div[2]/div/table/thead/tr[1]/th') #使用xpath解析
# print(divs)
list=[]
year=[]
cou=[]
gdp=[] 
per=[] # 定义空列表
for r,i in enumerate (coun[1:]):
    country_region=i.xpath('normalize-space(./text())')
    cou.append(country_region)


for r in range(0,33):
    i=divs[r]
    year1=i.xpath('normalize-space(./td[1]/text())')
    year.append(year1)
    year.append(year1)
    year.append(year1)

    GDP=i.xpath('normalize-space(./td[2])')
    GDP = str(GDP).split("亿")[0].split("万")[0]
    GDP1=i.xpath('normalize-space(./td[4])')
    GDP1= str(GDP1).split("亿")[0].split("万")[0]
    GDP2 = i.xpath('normalize-space(./td[6])')
    GDP2 = str(GDP2).split("亿")[0].split("万")[0] #循环解析获取
    gdp.append(float(GDP))
    gdp.append(float(GDP1))
    gdp.append(float(GDP2))
    per1=i.xpath('normalize-space(./td[3])')
    per2=i.xpath('normalize-space(./td[5])')
    per3 = i.xpath('normalize-space(./td[7])')
    per.append(per1)
    per.append(per2) 
    per.append(per3) #加入列表中
    list.append([year[r],cou[r%3],gdp[r],per[r]])
print(list) #打印

with open('GDP年份数据.csv','a',newline="",encoding='utf-8') as f:

    writer  = csv.writer(f)
    writer.writerow(['year','country_region','GDP','per'])

    writer.writerows(list) #保存为csv格式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值