用Python爬取GDP数据
废话少说,直接上代码,然后再详细介绍构造过程。
代码
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数据相关推荐
- python爬取网页公开数据_如何用Python爬取网页数据
使用Python爬取网页数据的方法: 一.利用webbrowser.open()打开一个网站:>>> import webbrowser >>> webbrowse ...
- 编程python爬取网页数据教程_实例讲解Python爬取网页数据
一.利用webbrowser.open()打开一个网站: >>> import webbrowser >>> webbrowser.open('http://i.f ...
- Python爬取天气数据及可视化分析!
来源丨Python之王 Python爬取天气数据及可视化分析 说在前面 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向.相对湿度.空气质量等成为关注的焦点.本 ...
- Python爬取的数据存为json文件,并读取
Python爬取的数据存为json文件,并读取 import requests import time from lxml import etree import jsondef json_data_ ...
- python爬虫教程:实例讲解Python爬取网页数据
这篇文章给大家通过实例讲解了Python爬取网页数据的步骤以及操作过程,有兴趣的朋友跟着学习下吧. 一.利用webbrowser.open()打开一个网站: >>> import w ...
- python爬取股票数据,以上证指数为例,可以爬取任何股票,保存为temp.csv文件
python爬取股票数据,以上证指数为例,可以爬取任何股票,保存为temp.csv文件 import requests import pandas as pd# market: 0:沪市 1:深市 # ...
- python爬取微博数据词云_用Python爬取微博数据生成词云图片
原标题:用Python爬取微博数据生成词云图片 欢迎关注天善智能 hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习.问答.求职,一站式搞定! 对商业智能BI.大数 ...
- 使用python爬取网站数据并写入到excel中
文章目录 前言 一.使用python爬取网上数据并写入到excel中 例子一: 例子二: 二.工具类 总结 前言 记录一下使用python将网页上的数据写入到excel中 一.使用python爬取网上 ...
- Python小姿势 - Python爬取网页数据
Python爬取网页数据 爬取网页数据是一个比较常见的Python应用场景,有很多第三方库可以帮助我们完成这个任务.这里我们介绍一下urllib库中的一个常用方法:urllib.request.url ...
- python爬取资料怎么样_手把手教你Python爬取新房数据
原标题:手把手教你Python爬取新房数据 项目背景 新房数据,对于房地产置业者来说是买房的重要参考依据,对于房地产开发商来说,也是分析竞争对手项目的绝佳途径,对于房地产代理来说,是踩盘前的重要准备. ...
最新文章
- CSS background 之设置图片为背景技巧
- .Net页面的生命周期(ZZ)
- 理解依赖注入(IOC)
- 转载——三种编程命名规范(匈牙利命名法、驼峰式命名法、帕斯卡命名法)...
- [转] 39万的一节课:让你悟透“近朱者赤,近墨者黑”的道理
- eclipse各版本下载列表
- UVA 1213 Sum of Different Primes
- NoSQL数据库的介绍、NoSQL的产品、NoSQL数据库的分类等;
- python网页登录模板
- 电商网站建设步骤_电商网站建设的注意事项_OctShop
- 热酷网邱金柱:技术牛人是核心竞争力
- Kali利用metasploit 生成后门程序,操作目标主机cmd
- Android 定制关机界面
- 测试人员的基本技能要求 - 快速掌握业务知识的能力
- 纯C语言实战-打字游戏
- Android ExpandableListView 展开列表控件(手机QQ好友列表)
- Nginx关闭后,网页仍能访问(缓存问题)
- The JAVA_HOME environment variable is not defined correctly的解决方法
- 制作大白菜U盘启动盘及4G以上镜像
- 【ethtool】ethtool 网卡诊断、调整工具、网卡性能优化| 解决丢包严重