谷歌GDELT数据下载代码
对代码进行了修改,从python2调整为python3,并对代码进行了优化。20210515
在上一篇博客谷歌GDELT数据说明中,我对GDELT数据进行了说明,在这篇文档中直接上代码,有需要的可以直接使用并下载数据,有问题欢迎留言。
GDELT提供了好几种数据,包括gkg、event、mentions等数据,我在代码中下载的是event数据,可以自己修改原始链接,代码应该可以通用,原理是一样的。
###需要注意,数据量较大,截止到2017.7.18全部下载下来需要150多GB,所以下载的时候最好下载到硬盘中,免得电脑内存不足。
# -*-coding:utf-8-*-
import requests
from bs4 import BeautifulSoup
from datetime import datetime
import zipfile
import sys
import multiprocessing
import random
import ospath = os.path.split(os.path.abspath(__file__))[0] + os.sep # 获取当前文件所在目录
data_folder = path + 'data' + os.sepdef get_url_list(url):'''获取页面下的所有url,保存到url_list.txt中,并返回url_list'''html = requests.get(url).textsoup = BeautifulSoup(html, 'lxml')url_list = []for li in soup.body.ul.find_all('li'):href = 'http://data.gdeltproject.org/events/' + li.a['href']url_list.append(href)print(len(url_list))with open(path + 'url_list.txt', 'w') as f:for url in url_list[3:-1]: # 前三个url和最后一个不是我们需要的数据,故跳过f.write(url + '\n')return url_list[3:-1]def get_url_data(url):global data_folderif not os.path.exists(data_folder):os.mkdir(data_folder) # 若文件夹不存在,则主动创建filename = url.split('/')[-1] # 从url链接中获取文件名称filepath = data_folder + filenameif os.path.exists(filepath) or os.path.exists(filepath[:-4]): # 若文件已下载,则跳过print('文件%s已存在' % filename)returnprint(filename)try:data = requests.get(url)with open(filepath, "wb") as f:f.write(data.content)fz = zipfile.ZipFile(filepath, 'r')fz.extract(fz.namelist()[0], data_folder) #解压下载下来的zip文件夹fz.close()if os.path.exists(filepath):os.remove(filepath) # 删除zip文件夹,只保存解压后的数据except Exception as e:print(e)log = open(path + 'log.txt', 'a')log.write(url + '\n')def download():url = 'http://data.gdeltproject.org/events/index.html'print('获取文件链接', datetime.now())url_list = get_url_list(url)print('下载文件数据', datetime.now())pool = multiprocessing.Pool() # 开启进程池,使用多进程提高下载速度pool.map(get_url_data, url_list)if __name__ == '__main__':download()
谷歌GDELT数据下载代码相关推荐
- 谷歌高程数据下载工具
BIGEMAP在线帮助系统 如何下载高清卫星影像资料 如何获取高程/地形/等高线数据 在线标注 导入\导出 高清卫星影像 矢量等高线/高程 (点线面)标绘 测量数据完美套合卫星图像 卫星图像导入.导出 ...
- Google Earth Engine(GEE)批量下载代码(以 NDVI数据为例)
下载数据先准备工作(具体细节都能查到):科学上网 谷歌邮箱,谷歌邮箱注册GEE账号. 一:导入需要下载边界shp文件. 标题 找到自己的shp文件,导入除了sbx文件的所有文件. 导入成功 命名ass ...
- python调用yolov3模型,pytorch版yolov3训练自己的数据(数据,代码,预训练模型下载链接)...
1.数据预处理 准备图片数据(JPEGImages),标注文件(Annotations),以及划分好测试集训练集的索引号(ImageSets) 修改代码中voc_label.py文件中的路径以及类别, ...
- 实用工具|零代码实现高德地图POI数据下载
1 工具获取方式 点击下面链接,即可获取地理坐标系转换工具 地理坐标系转换工具 2 工具介绍 高德地图POI数据下载工具(下文称该工具)是一款能够让用户在不写代码的前提下实现高德地图POI数据批量下载 ...
- 26 页高清大数据开发代码速查表,提升效率必备!【可下载】
在各大互联网公司高价抢夺数据人才的环境下,为谋求长期发展.获得高薪,很多人转行到了大数据领域.这条路人才虽缺,但要成为优秀大数据工程师并不轻松:别的不说,光学习新技术,巩固旧知识,就需要耗费大量时间精 ...
- 谷歌地球如何下载使用高程数据
BIGEMAP等高线(高程)使用教程 BIGEMAP高程数据主要特点: 覆盖全球 (任意范围下载) 精度准确 等高线细腻效果好 高程矢量数据可编辑 支持AutoCAD/南方CASS (DXF.DWG. ...
- tcga数据下载_零代码下载TCGA数据库第一期
TCGA数据库目前是科研中最常用的数据库之一,其中储存着多种疾病的各组学的数据,借助该数据库,帮助了很多研究生们发表了自己的文章,达到了毕业条件.但是,如果你是刚入门的新手,不用担心,跟着我们的系列推 ...
- 从谷歌官网下载android 6.0源码、编译并刷入nexus 6p手机
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/fuchaosz/article/details/52473660 1 前言 经过一周的奋战,终于从谷 ...
- 谷歌AI论文BERT双向编码器表征模型:机器阅读理解NLP基准11种最优(公号回复“谷歌BERT论文”下载彩标PDF论文)
谷歌AI论文BERT双向编码器表征模型:机器阅读理解NLP基准11种最优(公号回复"谷歌BERT论文"下载彩标PDF论文) 原创: 秦陇纪 数据简化DataSimp 今天 数据简化 ...
最新文章
- how Lordec maps the long reads to DeBruijn Graph
- 详解最大似然估计(MLE)、最大后验概率估计(MAP),以及贝叶斯公式的理解...
- logback日志记录器讲解
- python自动导出数据脚本_利用python生成一个导出数据库的bat脚本文件的方法
- c# 多线程界面卡顿_C#多线程解决界面卡死问题的完美解决方案
- 人才招聘中的“笔迹分析技术”
- 【pytorch】——报错 exporting the operator pixel_unshuffle to onnx opset version 11 is not supported
- iOS 第三方登录之 微信登录
- 支付业务与技术架构学习总结(7)——从金融牌照(三方支付牌照),看互联网巨头的金融布局
- 手机java update_手机里的java菜单老是自动更新为什么啊
- 开发微信小程序所需要的http服务器搭建
- 未来人工智能产品的思维,主要有哪几个趋势
- django集成Sphinx,为项目自动生成文档
- StarRocks Analyzer 源码解析
- 人文笔记(芒格人类误判心理学 + 韩信研究)
- JAVA采用S7通信协议访问西门子PLC
- SOTA 激光相机标定velo2cam_calibration(待完成)
- HanLP 自然语言处理 for nodejs
- python---表情包爬取
- 微信公众号网页底部不带返回栏 或者想要隐藏微信的底部导航栏
热门文章
- linux的shell脚本报错“syntax error near unexpected token `”的解决
- 解决win10笔记本电脑无法开启热点
- Selenium打开浏览器的方式总结
- 多变量分析方法与相关分析
- Zabbix6.0使用教程 (五)—zabbix从二进制包安装上篇
- linux 分区 dev,linux-kernel – 是/ dev / dm-1分区还是整个块设备?
- 运维工程师级别(初级、中级、高级)及待遇
- Excel在单元格输入内容,行自动添加边框
- 鼠标悬停“改变”图片
- 《写给大家看的Web设计书》读书笔记