python小代码_Python爬虫入门有意思的小长代码

一段有意思的代码,有兴趣的可以研究研究。

需求

用户收到短信如:购买了电影票或者火车票机票之类的事件。然后app读取短信,解析短信,获取时间地点,然后后台自动建立一个备忘录,在事件开始前1小时提醒用户。

设计

开始我们将解析的功能放在了服务端,但是后来考虑到用户隐私问题。后来将解析功能放到了app端,服务端只负责收集数据,然后将新数据发送给app端。

关于服务端主要是分离出两个功能,一、响应app端请求返回数据。二、爬取数据,存入数据库。

响应请求返回数据使用java来做,而爬取数据存入数据库使用python来做,这样分别使用不同语言来做是因为这两种语言各有优势,java效率比python高些,适合做web端,而爬取数据并不是太追求性能且python语言和大量的库适合做爬虫。

代码

本项目使用python3的版本

了解这个项目你只需要有简单的python基础,能了解python语法就可以。其实我自己也是python没学完,然后就开始写,遇到问题就百度,边做边学这样才不至于很枯燥,因为python可以做一些很有意思的事情,比如模拟连续登录挣积分,比如我最近在写一个预定模范出行车子的python脚本。推荐看廖雪峰的python入门教程

首先带大家看看我的目录结构,开始我打算是定义一个非常好非常全的规范,后来才发现由于自己不熟悉框架,而是刚入门级别,所以就放弃了。从简而入:

小编建了一个学习Python的QQ群,欢迎━(`∀´)ノ亻!小伙伴的加入哦!

55a4a40759c7

下面咱们按照上图中的顺序,从上往下一个一个文件的讲解init.py包的标识文件,python包就是文件夹,当改文件夹下有一个init.py文件后它就成为一个package,我在这个包中引入一些py供其他py调用。

init.py

55a4a40759c7

下面两个是配置文件,第一个是开发环境的(windows),第二个是测试环境的(linux),然后再根据不同系统启用不同的配置文件

conf_dev.py

55a4a40759c7

conf_test.py

55a4a40759c7

下面文件是一个util文件,主要是读取原文件的内容,还有将新内容写入原文件。

FileUtil.py

55a4a40759c7

下面这个main方法控制着执行流程,其他的执行方法调用这个main方法

MainUtil.py

55a4a40759c7

将更新的内容插入mongodb中

MongoUtil.py

55a4a40759c7

55a4a40759c7

下面真正的执行方法来了,这五个py分别表示爬取五种信息:机场名、航班号、电影名、列车号、列车站。他们的结构都差不多,如下:

55a4a40759c7

scratch_airport_name.py:爬取全国机场

55a4a40759c7

scratch_flight_number.py:爬取全国航班号

!/usr/bin/python

55a4a40759c7

scratch_movie_name.py:爬取最近上映的电影

!/usr/bin/python

55a4a40759c7

scratch_train_number.py:爬取全国列车号

55a4a40759c7

scratch_train_station.py:爬取全国列车站

55a4a40759c7

将项目放到测试服务器(centos7系统)中运行起来,我写了一个crontab,定时调用他们,下面贴出crontab。

55a4a40759c7

文章来自网络,如有侵权联系小编删除!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502337.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小学生 计算机编程 教程,面向小学生的C ++有趣编程(第一卷)配置教学资源课件完整版...

难度适中,易学易教的“面向小学生的C 趣味编程”教科书是小学信息学教学的重要组成部分.选择80多个接近小学生学习生活的例子,结合小学生的认知规律,激发孩子的兴趣,关注程序,适当削弱语法.使用流程图来阐明思想&#…

python怎么用for循环找出最大值_如何获取Python简单for循环索引

如何获取Python简单for循环索引 这篇文章主要介绍了如何获取Python简单for循环索引,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Python的for循环相比其他语言而言更加简单,比如经常会有如下这样类…

2018年江苏省计算机小高考,江苏2018年小高考成绩查询系统网站入口:江苏省教育考试院...

【导语】无忧考网从江苏省教育考试院获悉,江苏2018年小高考成绩查询系统网站入口将于4月9日上午正式开通!江苏省教育考试院关于发布江苏省2018年普通高中学业水平测试必修科目考试成绩的通告江苏省2018年普通高中学业水平测试必修科目考试成绩拟定于4月9…

列注释_【EXCEL检查问题】:如何快速检查并删除EXCEL中隐藏的工作表、行、列等信息...

前注:本案例是以EXCEL2016为示范软件,各版本的部分功能和路径可能不同在EXCEL使用过程中,你是否遇到过某一列的公式怎么修改都报错的情况?你是否遇到过一个只有区区几行数据的表格,却占用了好几百KB甚至好几M的空间呢&…

python输入的字符串转换为对应的数字类型_Python合集之Python运算符(四)

在上一节的合集中,我们了解了Python运算符中的位运算符的相关知识,本节我们将进一步了解一下Python运算符中运算符的优先级级基础的输入输出语法的相关知识。1. 运算符优先级Python运算符的运算规则是:优先级高的运算先执行,优先级…

服务器选购seo优化规则,需要做SEO的网站,购买服务器请注意六点

企业为了能在市场中争抢到一席之地都在对网站做各种优化,期望通过互联网,在最大程度上提高知名度,吸引客户。企业搭建网站一般都会考虑网站上线之后的优化问题,而服务器对于网站SEO的优化有很大的影响。网站想要做好SEO优化&#…

linux unix域socket_python3从零学习-5.8.1、socket—底层网络接口

源代码: Lib/socket.py这个模块提供了访问BSD*套接字*的接口。在所有现代Unix系统、Windows、macOS和其他一些平台上可用。这个Python接口是用Python的面向对象风格对Unix系统调用和套接字库接口的直译:函数 socket() 返回一个 套接字对象 ,其方法是对各…

freetype字体位图转距离场_那些火遍ins的字体小技巧,不看你就亏了

转载自版式设计很简单(ID:format_design)今天分享一个台湾设计师施博瀚的学习教程,看了以后,你会惊呼,原来这个是用AI做出来的?Ps.软件截图跟我们有所差别,以文字说明为主。www.instagram.com/bohanshih快速…

已知三角形三点坐标求角度_细心研磨椭圆焦点三角形,这肯定是最全的解释。...

点击上方蓝字关注我因为月考赶上运动会,继国庆之后,感觉又放了一个小长假。原本身体是很愿意的,可是,刚讲的解析几何突然被中断了,思想上还真是有点矛盾。因为,想了想两天后该讲些什么,脑中却一…

社会计算机比赛,哈尔滨工业大学社会计算与信息检索研究中心 – 理解语言,认知社会 » IR-Lab参加计算机学院“光熙杯”篮球赛...

IR-Lab参加计算机学院“光熙杯”篮球赛2014年04月18日迎首战师生一心,IR队旗开得胜 5月11日是“光熙杯”篮球赛的第二个比赛日,IR队迎来了小组赛的首场比赛,对阵空间计算队。比赛开始阶段,双方均略显紧张,然而随着比赛…

12v小型电机型号大全_电机型号参数大全

电动机型号是便于使用、设计、制造等部门进行业务联系和简化技术文件中产品名称、规格、型式等叙述而引用的一种代号。下面为大家介绍电动机型号含义等信息。一、电动机型号组成及含义由电机类型代号、电机特点代号、设计序号和励磁方式代号等四个小节顺序组成。1、类型代号是表…

easycode不推荐使用_为什么?mysql不推荐使用uuid或者雪花id作为主键?

前言:在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?本篇博客我们就来分析这个问题,探讨一下内部的…

netpref 使用_使用PerfView监测.NET程序性能(转发)

原文:前言:在日常项目开发中,我们时不时会遇到程序【占用了很高CPU的】情况,可能是程序里某些未经优化的代码或者Bug,或者是程序运行压力太大。无论是什么原因,我们总希望能看到到底是【哪个方法占用了如此…

ubuntu 虚拟机 串口 socket_上篇 | 虚拟机Ubuntu向开发板AMR传送文件

让技术支撑梦想点击上方蓝字可以关注我们哦首先把Ubuntu向开发板发送文件的流程做一下笔记,下一篇笔记就记录开发板如何接受文件....上一篇笔记:Makefile文件的编写规则及实例有很多小伙伴看不懂术语,所以这次小浩用口语方式表达这次笔记&…

win7 mysql 密码_笔记本win7系统下mysql忘记密码的最佳解决方法

MySQL是一个关系型数据库管理系统,在笔记本win7系统下编程的时候就需要用到MySQL数据库,不过有时候一段时间没用的话,可能会忘记数据库的登录密码了,当忘记密码就无法进入mysql,要如何解决呢,下面给大家带来…

无限流量手机怎样改服务器,无限流量手机服务器

无限流量手机服务器 内容精选换一换云手机作为一种新型服务,依靠华为云的服务器底座、创新技术及周边服务的天然优势,让移动应用不但可以在物理手机运行,还可以在云端智能运行。相比常见的手机模拟方案,云手机在性能、兼容性、稳定…

python3怎么做爬虫_Python爬虫入门教程 53-100 Python3爬虫获取三亚天气做旅游参照...

爬取背景 这套课程虽然叫爬虫入门类课程,但是里面涉及到的点是非常多,十分检验你的基础掌握的牢固程度,代码中的很多地方都是可以细细品味的。 为什么要写这么一个小东东呢,因为我生活在大河北,那雾霾醇厚的很&#xf…

仙逆网页服务器失败,全民仙逆闪退进不去了怎么办 闪退解决办法汇总

相信喜欢玩手机游戏的玩家们在玩游戏的过程中或多或少都会碰到闪退或者登陆不上游戏的情况吧,全民仙逆也自然不例外,所以今天热心的一游网小编就来告诉大家全民仙逆闪退进不去了怎么办 闪退解决办法汇总。全民仙逆进不去,全民仙逆无法连接服务…

mysql的主从复制优缺点_MySQL主从复制原理,超级详细的总结,看完全通了

主从复制的方式主从复制分为:异步复制,半同步复制和全同步复制异步复制: 是MySQL默认的复制模式,主库在执行完客户端提交的事务之后会立刻将结果返回给客户端,并不关心从库接收的结果,这样就会导致当主数据…

canvas 插件_基于Angular的Canvas手写签名插件

灵感来源之前, 在轻流的业务中遇到了一个需求, 是能够让客户使用手写签名的功能. 签名演示问题来了, 这...我不会啊! 这得是Canvas了吧. 正所谓, 插件用的好, 下班走的早. 于是我就开始找插件了. 找到了一个ng生态的插件, 名字不记得了, 只记得他就一个核心文件, 封装了一个第三…