实验室安排了一个任务给我,大意是
基于Python,从中科大的某个网站GET数据,填写在本地一个thread_send.py文件的对应位置,然后运行一下这个文件,将数据传到实验室的服务器
由于我的电脑前段时间重装了一下,所以Python没有了
安装流程是参照这篇博客
https://www.cnblogs.com/hongten/p/hongten_python_install.html
期间查阅了一下不同安装包区别
[Windows x86-64 embeddable zip file | Windows | for AMD64/EM64T/x64
zip安装包,需要解压缩
[Windows x86-64 executable installer]| Windows | for AMD64/EM64T/x64
直接下载可用的安装程序
[Windows x86-64 web-based installer] | Windows | for AMD64/EM64T/x64
大小最小,安装过程中需要联网
安装了以后配置了环境变量,但是提示缺少python34.dll
下载了一个,并放到了C:\Windows\SysWOW64路径下,问题解决。在命令行输入python可以正常出现版本信息了
实验室的程序中有很多包我未安装,所以先安装一个pip,参照这个博客https://blog.csdn.net/lengqi0101/article/details/61921399/
又发现了新的问题,实验室采用的似乎是python2.x,而我本地的是3.x。很多导入方式已经改变
2.x | 3.x
import httplib | import http.client
urlparse | urllib.parse
iteritems | items
改了一下午,出现了蜜汁bug,打算听从圈林的建议,同时在电脑上使用2.x和3.x的python
相关博客仿照的是这篇https://blog.csdn.net/qq_27089287/article/details/79114441
安装成功后,给pycharm导入python2环境,参照下述博客https://blog.csdn.net/u010801439/article/details/78460962
python2的pip版本太低了,更新的时候出现错误,参照这个博客,最终成功了
http://www.360doc.com/content/16/1114/13/3852985_606449918.shtml
实验室这次的任务可以分为几个步骤
1、撰写函数,自动从网站GET数据
2、正则匹配数据,分离不同信息
3、将运行文件改写成函数,修改信息改写成参数
4、调度器控制 GET函数-匹配函数-传参并运行执行函数
步骤一:
不知道中科大的url是什么,随便写一个好了
import urllib
import urllib2
url_const1 = "http://www.zhongkeda.edu.cn//mouwangzhan//"
url_const2 = "//GET"
for i in range(50):
url = url_const1 + unicode(i) + url_const2
req = urllib2.Request(url)
res_data = urllib2.urlopen(req)
res = res_data.read()
#得到的输出此时在res中
步骤二:
不知道GET到的数据类型如何,从学姐处观察,应该是一段json数据
假设数据为{"name":liudehua,"ID":233,"TESTID":666,"time":yyy-mm-dd}
import re
res = res.replace('{','').replace('}','').replace('\"','')
split_data = re.split(',|:',res)
处理后split_data = [name, liudehua, ID, 233, TESTID, 666, time, yyy-mm-dd]
步骤三:
为了简便,我们直接将处理后的分隔数据当做参数传入
后续处理,程序主体中也是通过调用函数实现,所以不需要额外修改
步骤四:
调度器也在步骤一中顺便完成,主体循环次数50,需要知道中科大数据的具体情况再做分析。
今天就到这里,明天测试程序是否可以正常实现功能。