废话少说,直接上代码,然后再详细介绍构造过程。

代码

import urllib.request
import re
import pandas as pd
import timedef getdata(url):req=urllib.request.Request(url)req.add_header('User-Agent',' Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36')data=urllib.request.urlopen(req).read().decode('utf-8')str1=str(data)pat='''<tr><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)\(.*?</td><td>.*?</td></tr>'''result=re.compile(pat).findall(str1)return resultif __name__ == '__main__':for i in range(1968,2020):print('正在收集第%d年数据'%i)rank=[]country=[]zhou=[]total=[]url='https://www.kuaiyilicai.com/stats/global/yearly/g_gdp/'+str(i)+'.html'data=getdata(url)for j in range(0,len(data)):rank.append(data[j][0])country.append(data[j][1])zhou.append(data[j][2])total.append(data[j][3])dataframe = pd.DataFrame({ '排名': rank, '国家/地区': country, '所在洲': zhou, 'GDP(美元计)': total})dataframe.to_csv(str(i)+"年世界gdp排名.csv", index=False, sep=',', encoding="utf_8_sig", mode="a+")print(i,'年数据收集完成')time.sleep(2)


Step1:确定网址

数据爬取的是世界各国GDP数据,解析网页信息并解码。

代码

req=urllib.request.Request(url)
data=urllib.request.urlopen(req).read().decode('utf-8')

Step2:反爬机制

有些网站需要定义反爬机制。

代码

req.add_header('User-Agent',' Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36')

有关User-Agent的知识可参考Python爬虫:将User-Agent添加进网页请求头。

Step3:正则式匹配

打开源数据网页,查看源代码,确定爬取数据的位置。见下图:

则爬取的位置是:

 <tr><td>2</td><td>中国</td><td>亚洲</td><td>2019</td><td>14.34万亿 (14,342,903,006,431)</td><td>16.3362%</td></tr>

确定正则匹配式:

<tr><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)\(.*?</td><td>.*?</td></tr>

则最后完整的正则匹配式是:

    pat='''<tr><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)\(.*?</td><td>.*?</td></tr>'''result=re.compile(pat).findall(str1)

Step4:将爬取数据写入表格并保存

首先导入pandas库。

import pandas as pd

写入表格并保存:

dataframe = pd.DataFrame({ '排名': rank, '国家/地区': country, '所在洲': zhou, 'GDP(美元计)': total})
dataframe.to_csv(str(i)+"年世界gdp排名.csv", index=False, sep=',', encoding="utf_8_sig", mode="a+")

至此所有的步骤都已完成。

用Python爬取GDP数据相关推荐

  1. python爬取网页公开数据_如何用Python爬取网页数据

    使用Python爬取网页数据的方法: 一.利用webbrowser.open()打开一个网站:>>> import webbrowser >>> webbrowse ...

  2. 编程python爬取网页数据教程_实例讲解Python爬取网页数据

    一.利用webbrowser.open()打开一个网站: >>> import webbrowser >>> webbrowser.open('http://i.f ...

  3. Python爬取天气数据及可视化分析!

    来源丨Python之王 Python爬取天气数据及可视化分析 说在前面 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向.相对湿度.空气质量等成为关注的焦点.本 ...

  4. Python爬取的数据存为json文件,并读取

    Python爬取的数据存为json文件,并读取 import requests import time from lxml import etree import jsondef json_data_ ...

  5. python爬虫教程:实例讲解Python爬取网页数据

    这篇文章给大家通过实例讲解了Python爬取网页数据的步骤以及操作过程,有兴趣的朋友跟着学习下吧. 一.利用webbrowser.open()打开一个网站: >>> import w ...

  6. python爬取股票数据,以上证指数为例,可以爬取任何股票,保存为temp.csv文件

    python爬取股票数据,以上证指数为例,可以爬取任何股票,保存为temp.csv文件 import requests import pandas as pd# market: 0:沪市 1:深市 # ...

  7. python爬取微博数据词云_用Python爬取微博数据生成词云图片

    原标题:用Python爬取微博数据生成词云图片 欢迎关注天善智能 hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习.问答.求职,一站式搞定! 对商业智能BI.大数 ...

  8. 使用python爬取网站数据并写入到excel中

    文章目录 前言 一.使用python爬取网上数据并写入到excel中 例子一: 例子二: 二.工具类 总结 前言 记录一下使用python将网页上的数据写入到excel中 一.使用python爬取网上 ...

  9. Python小姿势 - Python爬取网页数据

    Python爬取网页数据 爬取网页数据是一个比较常见的Python应用场景,有很多第三方库可以帮助我们完成这个任务.这里我们介绍一下urllib库中的一个常用方法:urllib.request.url ...

  10. python爬取资料怎么样_手把手教你Python爬取新房数据

    原标题:手把手教你Python爬取新房数据 项目背景 新房数据,对于房地产置业者来说是买房的重要参考依据,对于房地产开发商来说,也是分析竞争对手项目的绝佳途径,对于房地产代理来说,是踩盘前的重要准备. ...

最新文章

  1. CSS background 之设置图片为背景技巧
  2. .Net页面的生命周期(ZZ)
  3. 理解依赖注入(IOC)
  4. 转载——三种编程命名规范(匈牙利命名法、驼峰式命名法、帕斯卡命名法)...
  5. [转] 39万的一节课:让你悟透“近朱者赤,近墨者黑”的道理
  6. eclipse各版本下载列表
  7. UVA 1213 Sum of Different Primes
  8. NoSQL数据库的介绍、NoSQL的产品、NoSQL数据库的分类等;
  9. python网页登录模板
  10. 电商网站建设步骤_电商网站建设的注意事项_OctShop
  11. 热酷网邱金柱:技术牛人是核心竞争力
  12. Kali利用metasploit 生成后门程序,操作目标主机cmd
  13. Android 定制关机界面
  14. 测试人员的基本技能要求 - 快速掌握业务知识的能力
  15. 纯C语言实战-打字游戏
  16. Android ExpandableListView 展开列表控件(手机QQ好友列表)
  17. Nginx关闭后,网页仍能访问(缓存问题)
  18. The JAVA_HOME environment variable is not defined correctly的解决方法
  19. 制作大白菜U盘启动盘及4G以上镜像
  20. 【ethtool】ethtool 网卡诊断、调整工具、网卡性能优化| 解决丢包严重

热门文章

  1. Spark安装和编程实践(Spark2.4.0)
  2. python安装numpy库出错_numpy安装失败-小失误
  3. 量化投资学习——理解Barra模型
  4. 全网最新springCloud快速练手学习项目——简单超易懂系列
  5. Java面试面经大合集(含答案),大厂越来越简单进了,建议收藏
  6. 从数据库索引到数据库优化
  7. js 将16进制转为字符串
  8. 【开发工具集】DLL依赖查看工具——Dependency Walker
  9. windows命令查找程序_如何在Windows 10上查找和设置屏幕保护程序
  10. 利用DEEPLABV3-RESNET101获取人体蒙版