Python3 小试牛刀 爬取未来城市天气预报

部署环境:

python3 -3.4.6

vmware虚拟机部署Cent6.5

需要安装模块:requests、time、random、socket、http、pymysql、bs4、csv (指令是pip3 install pickage*)

导入模块:

定义采集数据函数:

分析数据进行添加:

将数据采进行写入模块:

将数据采集后存储在path里面。

路径下面有文档:

采集下的数据存储在weather表内。不过有乱码,有网友看到哪里能解决乱码请留言告诉我。

notepad++可以自动转码

数据存储在数据库内

创建数据库模块:

从数据库内插入数据:

模块编码:

注:在主函数中调用数据插入模块,在传送result值过去,因为保存下来*.csv文件内数据是乱码。所以插入时也是按按照数据编码格式插入。

在程序最后初始化方法,调用模块函数。

数据插入的结果在Navicat中显示,但是乱码还是想想办法解决。

总结:整个程序是看懂别人写的Python原理基础上再加以修改,所以看懂程序设计思路很重要,不然复制过去也是编译错误。总体花了两天时间去解决Bug问题,每个模块的设计思路一定要清楚。这里注意几点:1、复制别人代码或者自己填写一定要看懂空格或是tab键,python编码对制表符号要求很高。如果不同,会一直报错。2、各个模块最好分开写,单独用个.py文件进行封装,在去主函数中调用。封装前,也可以测试一下模块是否执行成功。有时候因为一个模块错,看整个程序很费劲,如果模块封装有问题,就可以排查后再加入主函数。3、测试成功的模块记得备份在改动,大多数时候改动时,改太多就不知道改到哪里了。

最后是编译千万次,成功就一次,谨慎小心性,注意制表符。

借鉴:

源代码出处:https://www.cnblogs.com/zhaww/p/9517514.html 

request模块详解:https://www.cnblogs.com/ranxf/p/7808537.html

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章