接着上一次的内容。

先说明一下关于split()方法:它通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串(把一个字符串分割成很多字符串组成的list列表)

语法:str.split(str="", num=string.count(str)).

参数:str 分隔符,默认为空格。num 分割次数

返回值:返回分割后的字符串列表

例如:你需要将一个英语句子中的每一个单词拿出来单独处理,就可以将其进行分割。

如:a=' I am a new student'

a.split()

split会将字符串按照空格进行分割,分割后得到的都是新的字符串,最终返回字符串组成的list

结果['I','am','a','new','student']

其实split()方法和excel里的分隔符很像。

其对应的是连接list的字符串的方法join(),是将list中的所有字符串连接成为一个字符串

如:s=','   lis=['I','am','a','new','student']   result=s.jion(lis)     print result         得到结果为 'I,am,a,new,student'

按,连接list

list可以用for...in遍历lis中的元素。   for i in rang(1,10)这里的rang(1,10)就是一个list  [1,2,3,4,5,6,7,8,9]

I=rang(1,10)=[1,2,3,4,5,6,7,8,9],  for i in I :和 for i  in rang(1,10):效果是一样的。

说明一下如何操作list列表

1】访问list中的元素   如上述print lis[0]就会输出'I'

2】修改list中的元素   如修改上述lis,lis[4]='teacher',输出lis时最后一个元素被改成'teacher'

3】list中添加元素    用append方法  如lis.append(2016)

4】删除list元素       用del方法,如del[4]

啊,说了这么多,其实感觉是不是米有啥用,其实这些都是基本知识,今天自己在复习一遍,因为抓取网络上的内容经常是要操作list列表滴。看了这些内容,今天就可以继续学习抓取省/直辖市的编号。

昨天学习的就是如何获取一个网络资源的信息,也就是和文件操作类似,就是打开 ,然后读取,解码,分割成为list列表这几个步骤。可以直接用这个代码

b=urllib.request.urlopen('http://m.weather.com.cn/data5/city.xml').read().decode().spilt(',')

这样就可以得到一个b的列表啦,也就是上述截图print打印出来的内容。分析一下,我们要得到数据01,02,就必须操作这个b列表啦

下面就可以操作这个b列表了,试试

print  (b[0]) 看看,是不是打印出'01|北京' ?
继续分析,此时b[0]也是一个字符串,将其按照|分割,就可以得出01啦,所以操作如下,应该是b[0].spilt('|')了,分割出来的数据应该
是[01,'北京’]了,此时再取值:b[0].split('|')[0]?思路是这样,看看是不是?

一个是这样操作,那多个相同的就得循环啦,所以就得用到上述用的for i  in list

for  i  in   b:                #i=b[0],b[1],b[2]。。。。。。

code=i.split('|')[0]

web='http://m.weather.com.cn/data5/city%s'

web1=web %code

print (web1)

看看是不是能打印出来第二个接口的数据了?  当然如果觉得太多,可以只打出2~3个省的看看。for i  in  b[:2]

额,有点晚了,明天接着来2016年9月1号

Python 学习之urllib模块---用于发送网络请求,获取数据(2)的更多相关文章

  1. Python 学习之urllib模块---用于发送网络请求,获取数据

    1.urllib urllib是Python标准库的一部分,包含urllib.request,urllib.error,urllib.parse,urlli.robotparser四个子模块. (1) ...

  2. Python 学习之urllib模块---用于发送网络请求,获取数据(5)

    查询城市天气最后一节 需要导入上一节的结果city10.py #!/usr/bin/python# -*- coding: UTF-8 -*-import urllib.requestfrom  ci ...

  3. Python 学习之urllib模块---用于发送网络请求,获取数据(4)

    承接将查询城市编码的结果保存到文件中,以字典的形式保存,目的是为了在查询某个城市的天气的时候,能够通过输入的城市名称,找到对应的城市编码.所以此结果字典的数据结构,就是city={城市名称:城市编码} ...

  4. Python 学习之urllib模块---用于发送网络请求,获取数据(3)

    上节内容,是得到了省/直辖市编码,如web='http://m.weather.com.cn/data5/city01',我们需要继续获取此接口的数据,于是进行下面的操作 for  i  in   b ...

  5. 16 react 发送异步请求获取数据 和 使用Redux-thunk中间件进行 ajax 请求发送

    1.发送异步请求获取数据 1.引入 axios ( 使用 yarn add axios 进行安装 ) import axios from 'axios'; 2. 模拟 在元素完成挂载后加载数据 并初始 ...

  6. 总结:kathasis如何发送get请求获取数据

    1.进入前端页面,找到对应的模块,开始塞字段数据. 2.如果字段为基本类型,如String,比如website,则在前段界面,右击,inspect,找到对应的代码所处的jsp,跳转到该jsp,通过该j ...

  7. python 学习笔记之手把手讲解如何使用原生的 urllib 发送网络请求

    urllib.urlopen(url[,data[,proxies]]) : https://docs.python.org/2/library/urllib.html python 中默认自带的网络 ...

  8. python学习之random模块

    Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...

  9. Python爬虫之urllib模块2

    Python爬虫之urllib模块2 本文来自网友投稿 作者:PG-55,一个待毕业待就业的二流大学生. 看了一下上一节的反馈,有些同学认为这个没什么意义,也有的同学觉得太简单,关于Beautiful ...

随机推荐

  1. mvc Html.BeginForm 生成 ?Length=

    今天再做mvc Html.BeginForm的方法的时候发现提交的时候都会带length= ,后面查看网上文档资料是后台model设置最小长度生成的 改成  @using (Html.BeginFor ...

  2. UIAlertController:弹框4步走

    对于大多数的App来说,弹框这种交互方式基本上是必不可少的.在新的iOS系统中(具体版本我忘了),以前的UIAlertView被弃用,而换成了现在的UIAlertController. UIAlite ...

  3. C# 自定义事件

    C#自定义事件和java有所不同,涉及到委托.下面代码包括自定义事件从事件定义到事件触发和执行的全过程. using System; using System.Collections.Generic; ...

  4. BA的广度和深度

    http://insights.thoughtworkers.org/ba-capability-and-development-path-in-thoughtworks/ 作者:ThoughtWor ...

  5. 怎样在win7下装ubuntu(硬盘版安装)

    1)首先还是分区,在计算机上右键--管理--磁盘管理 装Ubuntu分配的硬盘大小最好是(20G以上)不要太小,这里请注意,ubuntu和windows文件系统全然不同,所以我们划好要给ubuntu的 ...

  6. gdb调试运行时的程序小技巧

    使用gdb调试运行时的程序小技巧 标签: 未分类 gdb pstack | 发表时间:2012-10-15 04:32 | 作者:士豪 分享到: 出处:http://rdc.taobao.com/bl ...

  7. careercup-数组和字符串1.4

    1.4 编写一个方法,将字符串中的空格全部替换为“%20“.假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的”真实“长度. C++实现代码: #include<iostream> ...

  8. android开发之国际化

    国际化,听起来高大上,做起来很简单. 我们来实现一个简单的效果,让应用根据系统的语言来做不同的显示,假如android系统默认是英语,应用就以英文的形式显示,如果android系统默认是中文,则应用就 ...

  9. ci 中使用 pdo 连接 mysql

    ci 版本为 3.0.6 config/database.php 文件内容如下 $active_group = 'default'; $query_builder = TRUE; $db['defau ...

  10. 在Nginx中搭建Nagios监控平台

    本文只做Nginx下Nagiox安装的说明,其它关于Nagios监控的详细配置请参考我的另一篇文章[Ubuntu 10.04下构建Nagios监控平台] Nagios依赖PHP环境和perl环境.由于 ...