Python 学习之urllib模块---用于发送网络请求,获取数据(2)
接着上一次的内容。
先说明一下关于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)的更多相关文章
- Python 学习之urllib模块---用于发送网络请求,获取数据
1.urllib urllib是Python标准库的一部分,包含urllib.request,urllib.error,urllib.parse,urlli.robotparser四个子模块. (1) ...
- Python 学习之urllib模块---用于发送网络请求,获取数据(5)
查询城市天气最后一节 需要导入上一节的结果city10.py #!/usr/bin/python# -*- coding: UTF-8 -*-import urllib.requestfrom ci ...
- Python 学习之urllib模块---用于发送网络请求,获取数据(4)
承接将查询城市编码的结果保存到文件中,以字典的形式保存,目的是为了在查询某个城市的天气的时候,能够通过输入的城市名称,找到对应的城市编码.所以此结果字典的数据结构,就是city={城市名称:城市编码} ...
- Python 学习之urllib模块---用于发送网络请求,获取数据(3)
上节内容,是得到了省/直辖市编码,如web='http://m.weather.com.cn/data5/city01',我们需要继续获取此接口的数据,于是进行下面的操作 for i in b ...
- 16 react 发送异步请求获取数据 和 使用Redux-thunk中间件进行 ajax 请求发送
1.发送异步请求获取数据 1.引入 axios ( 使用 yarn add axios 进行安装 ) import axios from 'axios'; 2. 模拟 在元素完成挂载后加载数据 并初始 ...
- 总结:kathasis如何发送get请求获取数据
1.进入前端页面,找到对应的模块,开始塞字段数据. 2.如果字段为基本类型,如String,比如website,则在前段界面,右击,inspect,找到对应的代码所处的jsp,跳转到该jsp,通过该j ...
- python 学习笔记之手把手讲解如何使用原生的 urllib 发送网络请求
urllib.urlopen(url[,data[,proxies]]) : https://docs.python.org/2/library/urllib.html python 中默认自带的网络 ...
- python学习之random模块
Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...
- Python爬虫之urllib模块2
Python爬虫之urllib模块2 本文来自网友投稿 作者:PG-55,一个待毕业待就业的二流大学生. 看了一下上一节的反馈,有些同学认为这个没什么意义,也有的同学觉得太简单,关于Beautiful ...
随机推荐
- CSS 最核心的几个概念
CSS 中最核心的几个概念,包括:盒模型.position.float等. 这些是 CSS 的基础,也是最常用的几个属性,它们之间看似独立却又相辅相成. 元素类型 HTML 的元素可以分为两种: 块级 ...
- redhat开启linux server
1.redhat linux5 enterprize 默认情况下是没有安装telnet server,可以使用rpm -q telnet查询,下图是安装后的查询结果
- iOS UILabel:宽度固定,自动高度显示全部文字
desclabel.width = self.view.width - (leftOffset*2); desclabel.lineBreakMode = NSLineBreakByWordWrapp ...
- Java的redis 操作类-优化通用版本
java操作redis多节点处理方式;http://blog.itpub.net/29254281/viewspace-1188644/首先maven引入依赖包 <dependency> ...
- c#调用api(FindFirstFile,FindNextFile)高效遍历目录文件【转载】
在c#下遍历目录,应用最多的应该就是 System.IO.DirectoryInfo.GetDirectories或GetFiles了,但是当目录特别大,文件特别多时,效率不尽人意,此时我们很容易想到 ...
- ListBox重绘
.NET Framework 类库 ListBox.ItemHeight 属性 当 DrawMode 属性设置为 DrawMode.OwnerDrawFixed 时,所有项具有相同的高度.当 Dra ...
- [Java Performance] 数据库性能最佳实践 - JPA和读写优化
数据库性能最佳实践 当应用须要连接数据库时.那么应用的性能就可能收到数据库性能的影响. 比方当数据库的I/O能力存在限制,或者因缺失了索引而导致运行的SQL语句须要对整张表进行遍历.对于这些问题.只相 ...
- Anroid搭建一个局域网Web服务器
前言 很多开发者看到这个标题表示很怪异,Android怎么可能搭建服务器呢?根本用不到呀,这个项目毫无价值.我表示很理解这一类的开发者,毕竟每个人的经验经历都是有限的. 必须要说说我们的用处(需要 ...
- CentOS 6.7 配置nginx支持SSL/https访问
一.安装必要的包 yum install openssl openssl-devel 二.配置编译参数,增加对SSL的支持 ./configure –with-http_ssl_module 三.修改 ...
- 佛主保佑,永无bug
/* _ooOoo_ o8888888o 88" . "88 ...