Python对城市距离自动化爬取【python小型项目】

本地创建数据库,将 excel 数据存储到 city 表中,再取 | 湖北省 | 的所有地级市和县、县级市、区数据作为样表数据记录在样表中 。利用的 xlrd 包,定义包来存放操作 excel 数据,生成 sql 语句的类,定义包来存放数据库的操作对象,定义各种方法
PS::另外很多人在学习的过程中,往往因为没有好的教程或者没人指导从而导致自己容易放弃,为此我建了个全栈开发交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新教程项目可拿,不懂的问题有老司机解决哦,一起相互监督共同进步
城市距离爬取 - 任务计划
本地创建数据库,将 excel 数据存储到 city 表中,再取 | 湖北省 | 的所有地级市和县、县级市、区数据作为样表数据记录在样表中 。
本地创建数据库,将 excel 数据存储到 city 表中,再取 | 湖北省 | 的所有地级市和县、县级市、区数据作为样表数据记录在样表中 。准备工作创建好 /.py 扩展包,到时候,利用的 xlrd 包,定义包来存放操作 excel 数据,生成 sql 语句的类,
定义包来存放数据库的操作对象,定义各种方法
创建包,来存放爬虫的操作对象 -> 发现对方网站调用的地图 api -> 更改为调用德地图 api 的包 - 存放操作对象
创建 log 文件夹,存放数据库操作的日志
创建 data 文件夹,存放初始 excel 数据
数据库基本构造:
样本数据表格式:
表名:
分布fk必填域备注
地域名
text
TRUE
地域名
地域类型
TRUE
0 - 为地级市;1 - 为县、县级市、区 。
经纬度
text
TRUE
地域名的经纬度
···
样本 1-1 地点 route 表的格式
表名:
分布fk必填域备注
出发点
text
出发点
目的点
text
目的点
距离
距离
路线
route
text
路线

Python对城市距离自动化爬取【python小型项目】

文章插图
···
创建配置信息接口
方便存储我们需要的特定变量和配置信息 。
/.py
#!/usr/bin/python# -*- coding: utf-8 -*-#__author__: stray_camelimport os,sys#当前package所在目录的上级目录src_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
创建读取 excel 数据的接口
利用的 xlrd 包,定义包来存放操作 excel 数据,生成 sql 语句的类
参考源码文档
并没有发现在 PyPI 上有 ,所以只能去上找源码了,xlrd 处理 excel 基础 guide
import xlrdbook = xlrd.open_workbook("myfile.xls")print("The number of worksheets is {0}".format(book.nsheets))print("Worksheet name(s): {0}".format(book.sheet_names()))sh = book.sheet_by_index(0)print("{0} {1} {2}".format(sh.name, sh.nrows, sh.ncols))print("Cell D30 is {0}".format(sh.cell_value(rowx=29, colx=3)))for rx in range(sh.nrows):print(sh.row(rx))
创建 /.py 扩展包,方便后面
获取 excel 的数据构造 sql 语句,创建 city 表(湖北省)样表
/.py
#!/usr/bin/python# -*- coding: utf-8 -*-#__author__: stray_camelimport xlrd,sys,os,loggingfrom public import configclass Excel2Sql(object):def __init__(self, url:"str类型的文件路径", sheet:"excel中的表单名"):self.f_name = url# 将excel中特定表单名数据存储起来self.sh_data = http://www.kingceram.com/post/xlrd.open_workbook(self.f_name).sheet_by_name(sheet)self.rows = self.sh_data.nrowsself.cols = self.sh_data.ncols
当我们生成这个对象的时候,我们希望按照类似
excel_data = http://www.kingceram.com/post/excel2sql.Excel2Sql("fiel_name","sheet_name")
的代码形式来直接读取 excel 文件并获取某个表单的数据 。所以在初始化对象的时候我们希望对其属性进行赋值 。