前情提要 最近项目需要天气数据(预报和历史数据)来作为算法程序的输入. 项目的甲方已经购买了天气数据, 依照他们的约定,天气数据的供应商会将数据以"文本" (.TXT)的方式发到FTP上面. 因此,我们需要将这些数据从FTP上面获取出来,并做好持久化工作.以备我们算法程序的使用. 持久化准备 由于项目的需要和考虑历史的一些因素,我们这边的数据库选型时MYSQL.她作为一个开源的关系型数据库,个人感觉还是非常不错滴~~ 此外,利用Python和docker作为开发与部署(devops)相…
前言 在这一节中,我们主要介绍如何使用python操作MySQL数据库. 准备 MySQL数据库使用的是上一节中的docker容器 “test-mysql”. Python 操作 MySQL 我们使用的IDE是 “神奇” 的 pycharm: 1. 首先新建一个python的项目,并且安装 “mysql-connector-python”. “mysql-connector-python” 是MySQL官方对于python的数据驱动,感兴趣的童鞋可以移步这里: https://dev.mysql…
前情提要 在之前的文章里,我们已经掌握从FTP上面下载天气数据然后插入到数据库中. 但是如何将我们已有的数据放到生产环境中呢? 思考 首先,我们先简单的理一理现在的情况. 目前: FTP上面已有半个月的天气数:每天会有2个txt文件产生 (每个文件大小约为 50~60 kb),由天气供应商负责上传到FTP上. 如图所示: 思路1: 经过简单的测试,每次读取一个txt文件然后写入数据库的时间大约为1s, 因此,可以考虑写一个小工具,从FTP上依次读取所有的txt, 然后插入数据库.也就是利用小工具…
背景 不知不觉中,我们已经完成了所有的编程工作.接下来,我们需要把 Python 程序 做 容器化 (Docker)部署. 思考 考虑到项目的实际情况,“持久化天气”的功能将会是一个独立的功能模块发布(用户可选).因此,个人觉得没有必要放到项目总体的 docker-compose 里面去统一处理, 那么我们可以将它作为一个单独的 docker container 来部署:通过 docker run 的方式运行 docker container: 并启动 python 程序. Python 程序…
前言 经过前面两个小节的介绍,我们已经完成了MySQL数据库的搭建和数据库操作的事宜. 在本小节中,我们需要完成的任务是:使用python从FTP服务其上面获取文本文件. 搭建测试FTP服务器 LZ的测试环境是在 Windows2012 (实体机上的操作系统) + Ubuntu 16.04 (虚拟机). 为了简单起见,我们就将FTP服务器搭建在 Windows 系统上面.开发和测试在 Ubuntu 系统上面. 1. 打开FTP设置 (Controlpanel -> Turn windows fe…
写在前面的一些P话:(https://jq.qq.com/?_wv=1027&k=RFkfeU8j) 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向.相对湿度.空气质量等成为关注的焦点.本次使用python中requests和BeautifulSoup库对中国天气网当天和未来14天的数据进行爬取,保存为csv文件,之后用matplotlib.numpy.pandas对数据进行可视化处理和分析,得到温湿度度变化曲线.空气质量图.风向雷达图等结果,为获得未来…
百度天气 接口地址:http://api.map.baidu.com/telematics/v3/weather?location=上海&output=json&ak=hXWAgbsCC9UTkBO5V5Qg1WZ9,其中ak是密钥,自行去申请即可,便于大家测试,楼主就公布并了自己的Key,这样可以直接获取到数据. 获取到的数据是这样的: {"error":0,"status":"success","date"…
欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:李想 无服务器云函数(SCF)是腾讯云提供的Serverless执行环境,也是国内首款FaaS(Function as a Service,函数即服务) 产品.其核心理念是让用户将重心放在业务的逻辑实现上,而不用关心底层的运维包括服务器.存储.网络.自动扩缩容.负载均衡.代码部署等问题. 云函数既然以函数这两个字来命名,其应用场景也是跟函数是极为相似的,即对一段数据执行函数计算然后进行输出.腾讯云云函数提供了各类触发器来控制函数的执行…
前言 使用python进行网页数据的爬取现在已经很常见了,而对天气数据的爬取更是入门级的新手操作,很多人学习爬虫都从天气开始,本文便是介绍了从中国天气网爬取天气数据,能够实现输入想要查询的城市,返回该城市未来一周的天气情况,保存为csv文件,并对数据图形化展示分析.最后附完整代码. 1.使用模块 Python3.主要使用到了csv.sys.urllib.request和BeautifulSoup4模块,其中csv模块是为了对csv文件的处理,urllib.request可以构造http请求,Be…
1.申请拿到数据 可以用“聚合数据” 2.在android studio中导入需要的jar包 复制—>app—>libs—>粘贴—>右击—>Add As Library……—>选择model—>ok 此项目所用的jar包建议: fastjson xUtils(访问部分可用异步任务jar包代替) 3.网络权限 <uses-permission android:name="android.permission.INTERNET"><…
爬取背景 这套课程虽然叫爬虫入门类课程,但是里面涉及到的点是非常多,十分检验你的基础掌握的牢固程度,代码中的很多地方都是可以细细品味的. 为什么要写这么一个小东东呢,因为我生活在大河北,那雾霾醇厚的很,去了趟三亚,那空气,啧啧,舒服的很,所以爬取一下三亚天气,看看什么时候去最好,理想的温度为24~28,呵呵哒 代码走起来 ,天气类的网址多的很,重点关注历史天气 找到这么一个网站 https://www.tianqi.com/sanya/ 发现入口,哈哈,有机会爬取到 代码走起来,爬虫套路上吧 简…
本系列转载自youtuber sentdex博主的教程视频内容 https://www.youtube.com/watch?v=19yyasfGLhk&index=4&list=PLQVvvaa0QuDcOdF96TBtRtuQksErCEBYZ手工翻译,有任何疑问可以在下方留言,我尽力回答~ 该系列视频已经搬运至bilibili: 点击查看 汉化版视频:点击查看 正确的食用方法:文章大部分为机翻,修正了一些有明显不通顺的地方,能读懂大致意思即可,代码是最重要的,代码量不多很容易看懂 学习…
1. 前言 在进行网站开发的过程中经常会用到第三方的数据,但是由于同源策略的限制导致ajax不能发送请求,因此也无法获得数据.解决ajax的跨域问题可以使用jsonp技术 2.代码 <!DOCTYPE html> <html> <head> <title>weatherSample</title> <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js&…
本人刚才开始学习爬虫,从网上查询资料,写了一个利用Selenium+Phantomjs动态获取网站数据信息的例子,当然首先要安装Selenium+Phantomjs,具体的看 http://www.cnblogs.com/shaosks/p/6526817.html  Selenium下载: https://pypi.python.org/pypi/selenium/ phantomjs使用参考:http://javascript.ruanyifeng.com/tool/phantomjs.ht…
第一部分:爬取天气数据 # 在函数调用 get_weather(url = 'https://www.tianqi.com/foshan') 的 url中更改城市,foshan为佛山市 1 import requests 2 from lxml import etree 3 4 ### 爬取www.tianqi.com的今日和明日数据 5 def get_weather(url = 'https://www.tianqi.com/hangzhou/'): 6 headers = {'User-A…
参考链接:https://www.highcharts.com.cn/docs/process-text-data-file 1.javascript代码 var options = { chart: { type: 'column' }, title: { text: '水果消费情况' }, xAxis: { categories: [] }, yAxis: { title: { text: '单位' } }, series: [] }; var csvData = document.getE…
1.下载MongoDB 官网下载:https://www.mongodb.com/download-center#community 上面这张图选择第二个按钮 上面这张图直接Next 把bin路径添加到path中,如下图: 在安装路径下自己创建一个文件mongo.conf,配置内容如下: #数据库路径dbpath=E:\mongodb\data#日志输出文件路径logpath=E:\mongodb\log\mongo.log#错误日志采用追加模式logappend=true#启用日志文件,默认启…
import pymysql'''连接mysql数据表查询表获取数据导入到txt中'''#查询结果写入数据到txtdef get_loan_number(file_txt): connect = pymysql.Connect( host="100.100.100.0", port=3306, user="test", passwd="123", db="bigdata", charset='utf8' ) print(&qu…
人生苦短,我用Python~ 一直想自己折腾些极客的东西出来,供自己使用或者是供他人使用.一则可能对自己的生活是一种帮助,二则是对自己技能的提高,三则显得高大上,一直努力,一直提高,一直Happy!~ 直到,在京东白条了一个树莓派3,我知道,有一段兴奋的苦旅要开始了... [前言] 本文拟使用Python开发一个智能时钟,并且将智能时钟部署在 树莓派3 微机上,7*24小时开机,以达到实时监控时钟并在适当的时侯作出响应的目的.其实是每天早上邪恶的提示语,加一段提示音乐.每天中午吵醒午睡的闹钟,房…
项目需要进行升级服务,现在需要基于centos 7使用docker来快速打架一个FTP环境来方便本地文件上传. 本次使用的是 pure-ftpd docker镜像,有关镜像使用的详细信息,本人是从 https://hub.docker.com/r/stilliard/pure-ftpd/ 上获取的. 下面简单记录一下FTP服务器的搭建过程: 1.下载镜像 docker pull stilliard/pure-ftpd 2.运行 docker run -d --name ftpd_server -…
心知天气数据API 产品的高并发实践 心知天气作为国内领先的商业气象服务提供商,天气数据API 产品从公司创立以来就一直扮演着很重要的角色.2009 年API 产品初次上线,历经十年,我们不断用心迭代,已经为数百家企业客户提供了超过540亿次稳定可靠的数据服务.在心知天气官网首页一直跳动的调用量数字就实时展示了整个天气API 产品的服务状态.目前,心知天气数据API 的QPS 在高峰时期已经达到数千的量级,如何承载这样海量的并发请求,使客户能稳定及时的获取到所需数据自然也是心知技术团队一路以来不…
前言 大二下学期的大数据技术导论课上由于需要获取数据进行分析,我决定学习python爬虫来获取数据.由于对于数据需求量相对较大,我最终选择爬取 天气后报网,该网站可以查询到全国各地多年的数据,而且相对容易爬取. 需求分析: (1)需要得到全国各大城市的历史天气数据集. (2)每条天气信息应该包含的内容包括城市名.日期.温度.天气.风向. (3)以城市名分类,按日期存储在可读的文件中. (4)存储信息类型应该为字符型. 整体解决方案: 第一步:选择适合进行信息爬虫的网页. 第二步:对该网页相关信息…
第一次接触HtmlAgilityPack是在5年前,一些意外,让我从技术部门临时调到销售部门,负责建立一些流程和寻找潜在客户,最后在阿里巴巴找到了很多客户信息,非常全面,刚开始是手动复制到Excel,是真尼玛的累,虽然那个时候C#还很菜,也想能不能通过程序来批量获取(所以平时想法要多才好).几经周折,终于发现了HtmlAgilityPack神器,这几年也用HtmlAgilityPack采集了很多类型数据,特别是足球赛事资料库的数据采集以及天气数据采集,都是使用HtmlAgilityPack,所以…
JavaScript 解析 Django/Python 生成的 datetime 数据 当Web后台使用Django时,后台生成的时间数据类型就是Python类型的. 项目需要将几个时间存储到数据库中是很常见的情况.那么当需要网页显示这个时间的时候,可能会出现问题. 例如,后台获取当前时间 datetime.now([tz]) 带有时区的,存入数据库内.存进去的数据是这样的 1999-12-30 16:00:00 当业务需要时,再次从数据库中获取到这个数据,并显示在前台. 我遇到的情况是,如果直…
沪深龙虎榜数据进一步处理,计算日后5日的涨跌幅 事前数据: 前面处理得到的csv文件 文件名前加入“[wait]”等待程序处理 python代码从雅虎股票历史数据api获取数据,计算后面5日的涨跌幅 雅虎数据api格式: priceUrl = 'http://table.finance.yahoo.com/table.csv?s={%1}&d={%2}&e={%3}&f={%4}&g=d&a={%5}&b={%6}&c={%7}&ignore…
需求: 可切换城市 可实时更新(按钮或手势或下拉刷新) 可现实未来三日的天气 不限制横屏或者竖屏,不限制布局样式,但要求得到的数据均需显示(北京.天气数据.天气图标) 提示: 获得实时天气数据(任选一项) json数据格式 http://api.map.baidu.com/telematics/v3/weather?location=上海&output=json&ak=hXWagbsCC9UTkBO5V5QglWZ9 这个码:抄的我累死了,结果还访问不了.醉了. 如果可以的话 可以试着 得…
到目前我们介绍了一些Docker的基础概念, 知道了如何使用Docker的image, 也知道了如何在多个container间通过网络通讯. 在这章里我们将介绍如何在docker的container内管理数据以及如何在不同的container间共享数据. 我们将介绍两种主要的在docker中管理数据的方法: Data volumes Data volume container Data volumes 一个 data volume 就是一个在一个或者多个container里的特殊用途的目录.它绕…
⼀. ⼩数据池 在说⼩数据池之前. 我们先看⼀个概念. 什么是代码块: 根据提示我们从官⽅⽂档找到了这样的说法: A Python program is constructed from code blocks. A block is a piece of Python program text that is executed as a unit. The following are blocks: a module, a function body, and a class definiti…
最近遇到多进程共享数据的问题,到网上查了有几篇博客写的蛮好的,记录下来方便以后查看. 一.Python multiprocessing 跨进程对象共享  在mp库当中,跨进程对象共享有三种方式,第一种仅适用于原生机器类型,即python.ctypes当中的类型,这种在mp库的文档当中称为shared memory 方式,即通过共享内存共享对象:另外一种称之为server process , 即有一个服务器进程负责维护所有的对象,而其他进程连接到该进程,通过代理对象操作服务器进程当中的对象:最后一…
本篇文章我们以抓取历史天气数据为例,简单说明数据抓取的两种方式: 1.一般简单或者较小量的数据需求,我们以requests(selenum)+beautiful的方式抓取数据 2.当我们需要的数据量较多时,建议采用scrapy框架进行数据采集,scrapy框架采用异步方式发起请求,数据抓取效率极高. 下面我们以http://www.tianqihoubao.com/lishi/网站数据抓取为例进行进行两种数据抓取得介绍: 1.以request+bs的方式采集天气数据,并以mysql存储数据 思路…