网络请求urllib库的基本使用 ----------python的爬虫学习

简单的网络请求:

from urllib import request
url = "http://www.baidu.com"
rep=request.urlopen(url)

urlopen请求数据,返回给了变量rep

对返回数据的操作:

urlopen()返回的结果是类文件对象,也是可迭代的,下面列举出比较常用的方法
read()、readline()、readlines() :读取文件

rep = request.urlopen(url)
rep.read()
【Squeezed text】

  

rep.readline()

b‘<!DOCTYPE html>\n‘

rep.readlines()
【Squeezed text】

  

info():返回头信息

print(rep.info())

Date: Sat, 27 Jul 2019 03:32:18 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: Close
Vary: Accept-Encoding
Set-Cookie: BAIDUID=71F5315626EBFC522CD27C212E0BDC71:FG=1; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
Set-Cookie: BIDUPSID=71F5315626EBFC522CD27C212E0BDC71; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
#太多了省略.......

  

getcode():返回http状态码

print(rep.getcode())
200

  

geturl():返回url

print(rep.geturl())
http://www.baidu.com

  

urllib中内置了一个方法使保存网页数据更加方便

from urllib.request import urlretrieve
url = "http://www.baidu.com"
urlretrieve(url,r‘D:/baidu.html‘)

  

上面代码等同于

from urllib import request
request.urlretrieve("http://www.baidu.com",r"D:/baidu.html")
(‘D:/baidu.html‘, <http.client.HTTPMessage object at 0x03576A30>)

  

urlretrieve(url, filename=None, reporthook=None, data=None)

url: 文件url
filename: 保存到本地时,使用的文件(路径)名称
reporthook: 文件传输时的回调函数,常用于显示进度条
data: post提交到服务器的数据
该方法返回一个二元元组("本地文件路径",<http.client.HTTPMessage对象>)

原文地址:https://www.cnblogs.com/lcyzblog/p/11257286.html

时间: 2024-10-11 13:19:26

网络请求urllib库的基本使用 ----------python的爬虫学习的相关文章

Python网络请求urllib和urllib3详解

Python网络请求urllib和urllib3详解 urllib是Python中请求url连接的官方标准库,在Python2中主要为urllib和urllib2,在Python3中整合成了urllib. 而urllib3则是增加了连接池等功能,两者互相都有补充的部分. urllib urllib作为Python的标准库,基本上涵盖了基础的网络请求功能. urllib.request urllib中,request这个模块主要负责构造和发起网络请求,并在其中加入Headers.Proxy等. 发

网络请求三方库——OkHttp

我们知道在Android开发中是可以直接使用现成的API进行网络请求的,就是使用 HttpClient 和 HttpURLConnention ,而Android 4.4 之后 HttpClient 已经被废弃,由于此前一直很流行的三方库 android-async-http 是基于 HttpClient 的,所以作者已经放弃了维护 android-async-http 库,我们在项目中也尽量不要使用这个库. OkHttp是Squaur公司开源的一个高性能Http请求库,它的职责同 HttpUR

python之爬虫学习记录与心得

之前在寒假的时候,学习了python基础.在慕课网上看的python入门:http://www.imooc.com/learn/177 python进阶:http://www.imooc.com/learn/317 其实好多知识都是学了忘,忘了学的. 最近因为要使用爬虫爬去数据和照片,所以现在开始学习网络爬虫. 爬虫架构:URL管理器,网页下载器,网页解析器 URL管理器:管理待抓取URL集合和已抓取URL集合 防止重复抓取. URL管理器实现方法: 缓存数据库:大公司,性能高 内存:个人,小公

Python网页爬虫学习

我总结的了ython网页爬虫的笔记,使用BeautifulSoup和requests两个模块实现,能够爬取百度贴吧帖子图片的功能.里面还包括的了两个模块具体的使用讲解,还包含了详细的注释.有问题请在GIT留言或者邮箱联系 可以直接去Github下载: 下载地址: https://github.com/liangz0707/WebCrawler git地址:[email protected]:liangz0707/WebCrawler.git

Python之urllib库详解

urllib 是 Python 标准库中用于网络请求的库. 该库有四个模块,分别是: urllib.request urllib.error urllib.parse urllib.robotparser 1 发起请求 模拟浏览器发起一个 HTTP 请求,我们需要用到 urllib.request 模块.urllib.request 的作用不仅仅是发起请求, 还能获取请求返回结果.发起请求,单靠 urlopen() 方法就可以叱咤风云.我们先看下 urlopen() 的 API: urllib.

iOS开发之网络请求(基于AFNetworking的再封装)

最近一直很忙也没有什么时间写博客了.放假了休息一下,就写一篇博客来总结一下最近做项目中出现过的问题吧!!! 首先,在项目中我的起到了什么作用,无非就是把美工(UI设计师)给我们的图显示出来,然后再和服务器进行交互. 那个我们和服务器怎么交互呢?最简单的方式就是说话呗,但是我们要跟服务器说话必须通过我们彼此能听的懂的话来交流,也就需要制定很多的协议了(http,tcp,udp等,这个有兴趣的朋友可以了解一下网络协议的东西).但是我平常最常使用的还是http协议. http://www.cnblog

iOS网络请求框架:MKNetWorkKit的使用

MKNetWorkKit是由一个印度小伙子写的,是用于网络请求的库,支持ARC,我fork了一下,代码的网址这里给出. 本人fork作者代码地址(DoubleYi):https://github.com/DoubleYi/MKNetworkKit 作者源码地址(MugunthKumar):https://github.com/MugunthKumar/MKNetworkKit 作者关于类库介绍的地址(MugunthKumar):http://blog.mugunthkumar.com/produ

Python爬虫学习路线,强烈建议收藏这十一条

(一)如何学习Python 学习Python大致可以分为以下几个阶段: 1.刚上手的时候肯定是先过一遍Python最基本的知识,比如说:变量.数据结构.语法等,基础过的很快,基本上1~2周时间就能过完了,我当时是在这儿看的基础:Python 简介 | 菜鸟教程 2.看完基础后,就是做一些小项目巩固基础,比方说:做一个终端计算器,如果实在找不到什么练手项目,可以在 Codecademy - learn to code, interactively, for free 上面进行练习. 如果时间充裕的

python爬虫学习之使用XPath解析开奖网站

实例需求:运用python语言爬取http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html这个开奖网站所有的信息,并且保存为txt文件. 实例环境:python3.7  BeautifulSoup库.XPath(需手动安装)  urllib库(内置的python库,无需手动安装) 实例网站: 第一步,点击链接http://kaijiang.zhcw.com/zhcw/html/ssq/list_1.html进入网站,查看网站基本信息,注意一共要爬取11