1.urllib

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

(1)urllib.request用法

1)urlopen函数:用于打开一个URL(urlopen返回一个类文件对象,可以像文件一样操作)

例如: import urllib.request

web=urllib.request.urlopen('http://www.baidu.com')

content=web.read()

print (content.decode())

说明一下,此处用decode() 解码,是因为当时试了抓取中国天气网里的城市编号,发现抓取显示出来的都是十六进制的编码。现如今自己还是小菜鸟一      个,至于大学学的知识差不多也没记住多少,问了问度娘,捣腾出来这个,为此还去特意查了一下Unicode和其他编码如UTF-8的区别,Unicode是计算机的编码,是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。UTF-8的特点是对不同范围的字符使用不同长度的编码,相对于unicode来说,英文方面所占字符空间就少,节约空间,宽带。至于其他区别,还没深入,后面在慢慢了解。

当然,此处得到的结果,是打印出来baidu首页html页面的一些页面元素。

2)城市代码的抓取过程

天气网的城市代码信息比较复杂,么有给出城市代码的对应关系。提供的3个接口为:

http://m.weather.com.cn/data5/city.xml      获取的是省或者是直辖市的编号,如“01|北京,02|上海”等

http://m.weather.com.cn/data5/city%s(省编号,如01,02).xml      如city19.xml等,获取的是二级地区的编号

http://m.weather.com.cn/data5/city%s(二级编号,如19).xml      如city1901.xml,获取的是三级地区的编号

首先,先获取一下省或者直辖市的编号,代码如下:

去掉打印的注释, 运行结果如下:

今天先到这,明天继续!2016年8月31日

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

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

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

  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. Redis未授权访问缺陷让服务器沦为肉鸡

    朋友的一个项目说接到阿里云的告警,提示服务器已沦为肉鸡,网络带宽被大量占用,网站访问很慢,通过SSH远程管理服务器还频繁断开链接.朋友不知如何下手,便邀请我帮忙处理. 阿里云的安全告警邮件内容: 在没 ...

  2. Javascript数据类型——undefined和null的异同

    Javascript的基本数据类型中有undefined和null两种只有一个值得特殊数据类型.其中undefined表示未被初始化,不是为声明.而null表示一个空对象指针,而这也是使用typeof ...

  3. java_method_MD5加密

    /** * @param Original String * @return Encrypted String */ public String Md5(String plainText ) { tr ...

  4. ASP.NET MVC- Controllers and Routing- Routing

    二.Creating Custom Routes In this tutorial, you learn how to  add a custom route to an ASP.NET MVC ap ...

  5. C++:复制构造函数在什么时候被调用?

    这个问题不是疑问了,查了一下国外网站,总结一下.假设Person是一个类,复制构造函数的调用会在以下几种情况下发生: 1.对象在创建时使用其他的对象初始化 Person p(q); //此时复制构造函 ...

  6. Win7 下安装RabbitMQ

    RabbitMQ依赖erlang,所以先安装erlang,然后再安装RabbitMQ; 下载RabbitMQ,下载地址: rabbitmq-server-3.5.6.exe和erlang,下载地址:o ...

  7. (转)JS正则表达式元字符

    正则 描述 正则 描述 \f 匹配换页符 \t 匹配制表符 \n 匹配换行符 \v 匹配垂直制表符 \r 匹配回车 \s 匹配单个空格,等同于[\f\n\r\t\v]; \S 表示非空格字符 \d 在 ...

  8. 探索WebKit内核(一)------ 菜鸟起步

    为什么搞WebKit 如今研究WebKit的人越来越多,俺不能免俗,也增加当中.WebKit的火爆也是得益于浏览器和WebOS的混战,随着Palm WebOS, Chrome OS, Firefox ...

  9. OPENCV中滑动条的使用

    //文中存在两种不同的图像的平滑类型.一类是彩色图像,还有一类是灰度图像.经证明,两种均能够 #include<cv.h> #include<highgui.h> #inclu ...

  10. hdu1864 最大报销额(01背包)

    转载请注明出处:http://blog.csdn.net/u012860063 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1864 Problem ...