听说过“网络爬虫”吗?
闲人甲:“No.”
那看完这篇短文后记得给老王打赏5块钱哈。
闲人甲:“Why?”
“网络爬虫”是当今互联网世界中使用率最高的工具,任何基于互联网的数据采集分析都离不开这玩意,So,如果想用PYTHON编写一个可转债价格预警服务,就必须先从“网络爬虫”开始。
上周老王介绍了《如何获得可转债的实时交易行情等数据》。
现在数据源有了,今天老王就开始教你写第一个“网络爬虫”。
按照“笨办法学PYTHON”的教学思路,老王先不说原理,直接上代码:
一共9行代码,就完成了“江南转债”最新交易价格的查询,简单吧!
闲人甲:"No see."
先别说看不懂,你还没有认真仔细看呢。
你仔细看看,就会发现PYTHON真是一种类似英语语法的计算机编程语言。
闲人甲:"还是看不懂。"
你怎么说中文了?
好吧,老王就改用传统教学法再解释一遍,记得看完后再多打赏5块钱啊!
闲人甲:“你穷疯了?”
第1行:import urllib2
用import命令导入urllib2库(library),库是PYTHON最重要、最有价值的部分。你可以将“urllib2”库想象成一个“用PYTHON编写的浏览器”,利用这个“浏览器”就可以让电脑假装上网浏览网页了。
第2行:key = "sh113010"
key是变量名,设置key的值="sh113010",113010是江南转债的交易代码,sh代表是在上海交易所交易。
这样就造好了一个查询"江南转债"交易数据的URL地址了。
第4行:request = urllib2.Request(url)
urllib2带着url变量的值开始假装浏览器上网了,Request()是urllib2库中专门用于模仿浏览器上网的方法(method),浏览网页后的结果保存在变量request中。
第5行:result = urllib2.urlopen(request).read().decode('gbk', 'ignore')
利用urllib2的urlopen()方法打开request变量,同时使用urlopen的read()方法读取从request变量中的值,因为request中有中文,所以还要用decode('gbk', 'ignore')方法来将中文正确显示出来。
第6行:print result
为了知道变量result中到底有什么?我们使用print命令将result中的内容全部打印到屏幕上。
第7行:content = result.split(',')
变量result中的内容是“江南转债”的全部交易信息,而我们只需要其中最新的交易价格,所以需要先用split函数将result中的内容先切片,再转变为数据列表(list),切片的分隔符是“,”,转变后的数据列表保存在变量content中。
第8行:price = content[3]
content第[3]项(从0开始的第4项)就是“江南转债”最新价格,将content第[3]项的数据保存在变理price中。
第9行:print "江南转债 113010 最新价:", price
最后用print命令打印出查询结果就OK了。
Understand ?
闲人甲:"OK, 俺see了."
传统教学法真TNND累,if你能看懂学会,也不枉费老王一片苦心,记得再多打赏5块钱哈!
那么,老王是如何学会这么吊炸天的神技的呢?
闲人甲:"How ?"
那是在一个伸左手就能看见结婚戒指的夜晚,老王正在网上刻苦学习时,突然被一个充满诱惑的标题“用PYTHON爬你妹”所深深地吸引了。
王子曰:兴(性)趣是最好的老师。
遇到这么好的老师,怎可错过学习机会呢?
真得是SEX多,HOT烫啊!
功夫不负有心人,很快俺老王就学成了"爬你妹"的神技,但突然发现一个新problem,硬盘不够用了。
So,You现在知道老王为什么要打赏了吧?
闲人甲:"买卫生纸?"
我了个去......
如果你有兴(性)趣深入系统地学习“爬虫”神技,建议你去“崔庆才”老师(http://cuiqingcai.com/)个人网站观摩学习。
女同学也don't不高兴,只要学会神技,一样可以上网去“爬你大爷”。
[校对]Hellen
“荣观工作室”为个人原创微信公众号,所发布的所有文字作品的著作权均为个人所拥有,本人保留所有法定权利。
欢迎订阅、关注、转发、分享,点赞。
领取专属 10元无门槛券
私享最新 技术干货