Python入门学习过程(43)*

今天的古巴任务解析跟我们平时学的代码相比那是非常的长啊。重点是序列化与反序列化,还用上了字典和urllib的一些其他用法。

python大大的图

图片发自简书App

一开始我按这个代码敲,和群里战友们一样运行不出来,后来看了陈容喜同学的简书才发现最后一行是print,我们连print都没有敲,怎么会打印,下图是大大又运行一遍之后的代码,注意第26行。

图片发自简书App

如果只敲了25行结果一定是这样的

图片发自简书App

我的图

图片发自简书App

这个程序是说先读取那个rss文件,逐条抽取url,访问url内容。然后按(url =› 内容)方式存放到字典里。序列化字典到文件。然后再反序列化那文件,就可以按某个url来提取,或是全部按列表提出了。序列化就是那个梗。由于urllib的效率没有urllib2好,在遍历链接列表的时候,大大使用了urllib2.

第八行,首先我们抓取了外部的网址"http://feeds.bbci.co.uk/news/scotland/rss.xml"把它下载到本地文件"/tmp/news.html"中。 第九行定义了一个空的urls。get_page()用于获取网址url的内容。第十一到十四行是说,urllib2用一个Request对象来映射你提出的HTTP请求,在它最简单的使用形式中你将用你要请求的地址创建一个Request对象,通过调用urlopen并传入Request对象,将返回一个相关请求response对象,这个应答对象如同一个文件对象,所以你可以在Response中调用.read()。其实也就是读取rss文件。 十五行是定义字典,十六行是以只读方式打开本地文件。re.split()可以将字符串匹配正则表达式的部分分割开并返回一个列表。十七行是把经过一定处理的网页保存到urls里。第十八到二十一行是说,对于urls里的网页,如果有符合http协议的,那么就用downs[url]=get_page(url)这种url=>内容方式保存到字典里。由于只是举一个例子,保存了一个网页的内容以后就可以跳出循环了。二十二到二十三行说的是序列化,我们把字典里保存的网页内容写入文件。二十四二十五行说的是反序列化,我们把刚刚写入文件的内容读出来。最后通过二十六行打印出我们获取的网页内容。

大大在例子里选取了一种很特殊的rss网页,这样就可以得到很多网页列表。原来并不是随便一个网页都可以做出这样的结果啊

图片发自简书App

昨天没有发文章,我的过。楚乔传太好看了,看的忘记了写文章的时间,结果晚上写一半睡着了(-_-) zzz今天要先写文章再玩儿~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,981评论 19 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,251评论 4 61
  • 一、概述 urllib2是Python的一个针对URLs的库。他以urlopen函数的形式提供了一个非常简单的...
    MiracleJQ阅读 1,513评论 0 5
  • 感恩自己:感谢自己的坚持和不懈努力,得以让问题层出的生活,有了转机!感谢自己及时创造性的调整,不停的思考和总结,发...
    冰蓝儿8阅读 234评论 0 0
  • 今天身体状态不太好,跑步机下来后就感觉胃里有只小青蛙在上串下跳。不过洗了澡,披着湿漉漉的头发,迎着晚风,一边喝着冰...
    Emma鹿阅读 321评论 0 0