第六周编程任务学习过程
2014-12-04 16:54
127 查看
#有好几张图片插入失败了,重新插入会和正文内容不符合。索性就不添加图片了。
#还是把图片加上去好了。。。
#增加一个可能出现的错误6
a. 深入学习Github的使用:从Github上搜索并学习2~3个优秀的爬虫源代码,学习其编程风格和技巧;
b. 以重要经济参数为例,进一步巩固爬虫和数据库使用技巧:完成对国际现货与期货石油价格、美元人民币汇率、美元指数等数据的实时监控,采样频率为一小时一次,相关数据的采样页面需要自己搜索。
这次的代码任务只能说是前几周学习成果的一个小复习题。没有太大的难度,但是没有熟悉各种模板的函数运用,仍然会出现失误:
在向网页发送表单的时候要使用正确的请求方法。虽然POST与GET方法都提供了到网页采集数据的可行性,但如果错误的使用它们,将不会得到任何结果。而避免的方法很简单:只要在编写代码之前多看一眼,便不会如此这样南辕北辙。
利用正则表达式来获取特定位置的信息时要注意用转义符取消元字符(例如[ ] . 等等)的特殊含义,负责会引发异常。
我想获取
中的67.73这个数据,如果我用
这样的正则表达式,获得的结果却是
-0.54 。原因是像 *,+ 这样地重复是“贪婪的”,当重复一个 RE 时,匹配引擎会试着重复尽可能多的次数。如果模式的后面部分没有被匹配,匹配引擎将退回并再次尝试更小的重复。而在重复后加?的非贪婪模式,将匹配最小适合字符串。因此定位的获得数据,可以使用
这样的语句,准确的获得数据。
tuple_spot = re.findall(reg_spot,page_spot)返回的是一个tuple,里面保存的是多个字符串对象,因此想要取出一个浮点型的数字,需要进行类型转换。
向数据库中插入字符串是要注意在sql语句中字符型都需要用‘’括起来。同时在游标执行excute()方法后需要connect对象的commit()方法完成写入操作,如果出现了没有插入数据的情况,可能就是缺少了commit()方法。
当写入数据库的间隔时间过长的时候,可能会和数据库断开链接,可以通过两种办法解决,一是在执行程序前先将全局变量wait_timeout的值改成一个足够大的数。二是这样:
具体的代码我会更新在github上。github地址
#还是把图片加上去好了。。。
#增加一个可能出现的错误6
a. 深入学习Github的使用:从Github上搜索并学习2~3个优秀的爬虫源代码,学习其编程风格和技巧;
b. 以重要经济参数为例,进一步巩固爬虫和数据库使用技巧:完成对国际现货与期货石油价格、美元人民币汇率、美元指数等数据的实时监控,采样频率为一小时一次,相关数据的采样页面需要自己搜索。
这次的代码任务只能说是前几周学习成果的一个小复习题。没有太大的难度,但是没有熟悉各种模板的函数运用,仍然会出现失误:
在向网页发送表单的时候要使用正确的请求方法。虽然POST与GET方法都提供了到网页采集数据的可行性,但如果错误的使用它们,将不会得到任何结果。而避免的方法很简单:只要在编写代码之前多看一眼,便不会如此这样南辕北辙。
利用正则表达式来获取特定位置的信息时要注意用转义符取消元字符(例如[ ] . 等等)的特殊含义,负责会引发异常。
我想获取
中的67.73这个数据,如果我用
这样的正则表达式,获得的结果却是
-0.54 。原因是像 *,+ 这样地重复是“贪婪的”,当重复一个 RE 时,匹配引擎会试着重复尽可能多的次数。如果模式的后面部分没有被匹配,匹配引擎将退回并再次尝试更小的重复。而在重复后加?的非贪婪模式,将匹配最小适合字符串。因此定位的获得数据,可以使用
这样的语句,准确的获得数据。
tuple_spot = re.findall(reg_spot,page_spot)返回的是一个tuple,里面保存的是多个字符串对象,因此想要取出一个浮点型的数字,需要进行类型转换。
向数据库中插入字符串是要注意在sql语句中字符型都需要用‘’括起来。同时在游标执行excute()方法后需要connect对象的commit()方法完成写入操作,如果出现了没有插入数据的情况,可能就是缺少了commit()方法。
当写入数据库的间隔时间过长的时候,可能会和数据库断开链接,可以通过两种办法解决,一是在执行程序前先将全局变量wait_timeout的值改成一个足够大的数。二是这样:
具体的代码我会更新在github上。github地址
相关文章推荐
- 其实,学习编程的过程就是学习造轮子的过程,还是拥抱造轮子吧
- 什么是面向对象与过程编程?两者有什么区别(Java学习之一)
- 开始贴VB编程的学习过程
- JAVA--第六周实验--任务1--Java的对象封装编程练习
- Java Socket编程简捷学习过程
- 必须快速进入具体的编程方式的学习过程中
- 华为软件编程规范学习(六)--函数、过程
- 过程改进日记之学习Scrum2010-9-15:你了解自己的任务吗?
- 学习过程中遇到的一些编程小技巧
- unix下的网络编程学习(tcp连接和终止的过程)
- Windows 编程[2] - 学习窗体生成的过程二
- 过程改进日记之学习Scrum2010-8-20:下周任务细分和老大的乌鸦嘴
- Java Socket编程简捷学习过程
- Windows 编程[6] - 学习窗体生成的过程六: 最终的代码!
- 过程改进日记之学习Scrum2010-9-21:被吃掉的任务、Fix Bug算不算任务
- 其实,学习编程的过程就是学习造轮子的过程,还是拥抱造轮子吧
- Windows 编程[5] - 学习窗体生成的过程五
- Java学习从入门到精通 3过程篇-Java基础-Java-编程开发
- Java Socket编程简捷学习过程
- Arduino 各种模块篇 [留个小任务,现在去学习python 网络编程]