Python入门爬虫项目
这是我的第一个python项目,分享给大家。
需求
我们目前正在开发一款产品其功能大致是:用户收到短信如:购买了电影票或者火车票机票之类的事件。然后app读取短信,解析短信,获取时间地点,然后后台自动建立一个备忘录,在事件开始前1小时提醒用户。
设计
开始我们将解析的功能放在了服务端,但是后来考虑到用户隐私问题。后来将解析功能放到了app端,服务端只负责收集数据,然后将新数据发送给app端。
关于服务端主要是分离出两个功能,
1、响应app端请求返回数据。
2、爬取数据,存入数据库。
响应请求返回数据使用java来做,而爬取数据存入数据库使用python来做,这样分别使用不同语言来做是因为这两种语言各有优势,java效率比python高些,适合做web端,而爬取数据并不是太追求性能且python语言和大量的库适合做爬虫。
代码:本项目使用python3的版本
了解这个项目你只需要有简单的python基础,能了解python语法就可以。其实我自己也是python没学完,然后就开始写,遇到问题就百度,边做边学这样才不至于很枯燥,因为python可以做一些很有意思的事情,比如模拟连续登录挣积分,比如我最近在写一个预定模范出行车子的python脚本。
(需要入门教程看文章末尾)
接下来讲解init.py包的标识文件,python包就是文件夹,当改文件夹下有一个init.py文件后它就成为一个package,我在这个包中引入一些py供其他py调用。(话不多说,开始撸代码)
init.py
-- coding: UTF-8 --
import need manager module
import MongoUtil
import FileUtil
import conf_dev
import conf_test
import scratch_airport_name
import scratch_flight_number
import scratch_movie_name
import scratch_train_number
import scratch_train_station
import MainUtil
下面两个是配置文件,第一个是开发环境的(windows),第二个是测试环境的(linux),然后再根据不同系统启用不同的配置文件
conf_dev.py
-- coding: UTF-8 --
the configuration file of develop environment
path configure
data_root_path = ‘E:/APK98_GNBJ_SMARTSERVER/Proj-gionee-data/smart/data’
mongodb configure
user = “cmc”
pwd = “123456”
server = “localhost”
port = “27017”
db_name = “smartdb”
conf_test.py
-- coding: UTF-8 --
the configuration file of test environment
#path configure
data_root_path = ‘/data/app/smart/data’
#mongodb configure
user = “smart”
pwd = “123456”
server = “10.8.0.30”
port = “27017”
db_name = “smartdb”
下面文件是一个util文件,主要是读取原文件的内容,还有将新内容写入原文件。
FileUtil.py
-- coding: UTF-8 --
import conf_dev
import conf_test
import platform
configure Multi-confronment
判断当前系统,并引入相对的配置文件
platform_os = platform.system()
config = conf_dev
if (platform_os == ‘Linux’):
config = conf_test
path
data_root_path = config.data_root_path
load old data
def read(resources_file_path, encode=‘utf-8’)