综述

本系列文档用于对Python爬虫技术进行简单的教程讲解,巩固自己技术知识的同时,万一一不小心又正好对你有用那就更好了。

Python 版本是3.7.4

urllib库介绍

它是 Python 内置的HTTP请求库,也就是说我们不需要额外安装即可使用,它包含四个模块(主要对前三个模块进行学习):

request : 它是最基本的 HTTP 请求模块,我们可以用它来模拟发送一请求,就像在浏览器里输入网址然后敲击回车一样,只需要给库方法传入 URL 还有额外的参数,就可以模拟实现这个过程了。

error : 异常处理模块,如果出现请求错误,我们可以捕获这些异常,然后进行重试或其他操作保证程序不会意外终止。

parse : 用于解析URL,提供了许多URL处理方法,比如拆分、解析、合并等等的方法,以及对参数的拼接等待。

robotparser : 主要是用来识别网站的robots.txt协议文件,然后判断网站的那些数据可以爬,哪些数据不可以爬的,其实用的比较少。

urllib.request 介绍

urlopen()

1.参数说明(仅写了四个最常用的参数)

url : 爬取目标的URL;

data : 请求参数,如果设置该参数,则请求默认为post请求;没有默认为get请求;

timeout : 用于设置超时时间,单位为秒;

context : 必须是一个ssl.SSLContext类型,用来指定SSL设置,忽略未认证的CA证书;

2.具体用法

GET 请求方式

# 导入urllib库

import urllib.request

# 向指定的url发送请求,并返回服务器响应的类文件对象

url = "http://www.baidu.com"

response = urllib.request.urlopen(url=url)

print(type(response))

# 类文件对象支持文件对象的操作方法,如read()方法读取文件全部内容,返回字符串

html = response.read()

# html = response.readline() # 读取一行

# html = response.readlines() # 读取多行,返回列表

# 打印响应结果(byte类型)

print(html)

# 打印响应结果(utf-8类型)

# 二进制和字符串之间的相互转码使用 encode() 和 decode() 函数

# encode() 和 decode() 可带参数,不写默认utf-8,其他不再特别说明

print(html.decode())

# 打印状态码

# print(response.get_code())

print(response.status)

# 获取响应头

print(response.getheaders())

# 获取响应头Server信息

print(response.getheader('Server'))

# 获取响应结果原因

print(response.reason)

POST 请求方式

# 导入urllib库

import urllib.parse

import urllib.request

# 向指定的url发送请求,并返回

post_url = 'https://fanyi.baidu.com/sug'

# 传入参数

form_data = {

'kw': 'honey'

}

# 格式化参数

form_data = urllib.parse.urlencode(form_data).encode()

response = urllib.request.urlopen(url=post_url, data=form_data)

# 打印服务器响应的类文件对象

print(type(response))

# 类文件对象支持文件对象的操作方法,如read()方法读取文件全部内容,返回字符串

html = response.read()

# 打印响应结果(byte类型)

print(html)

# 打印响应结果(utf-8类型)

print(html.decode())

# 打印状态码

print(response.status)

# print(response.getcode())

# 获取响应头

print(response.getheaders())

# 获取响应头Server信息

print(response.getheader('Server'))

# 获取响应结果原因

print(response.reason)

urlretrleve()

1.参数说明

url : 下载链接地址;

filename : 指定保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据);

python补充urllib教程,Python爬虫之urllib基础用法教程相关推荐

  1. 大学计算机基础实验教程实验2-7,大学计算机基础实验教程(Windows 7+Office 2010)(第2版)...

    大学计算机基础实验教程(Windows 7+Office 2010)(第2版) 语音 编辑 锁定 讨论 上传视频 <大学计算机基础实验教程(Windows 7+Office 2010)(第2版) ...

  2. 大学计算机基础教程实验答案,大学计算机基础试验教程习题参考答案

    <大学计算机基础试验教程习题参考答案>由会员分享,可在线阅读,更多相关<大学计算机基础试验教程习题参考答案(4页珍藏版)>请在人人文库网上搜索. 1.大学计算机基础实验教程习题 ...

  3. 计算机应用基础教程ppt 洪歧,计算机应用基础案例教程(清华)

    计算机应用基础案例教程(清华) (13页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 蕴棉渐擅渐蔽蝎薯腻艰卷诞母危阜腮筷禁防距胜荔梦惋谅倪 ...

  4. 大学计算机基础实用教程重点知识,大学计算机基础实用教程

    摘要: <大学计算机基础实用教程>认真总结多年的教学经验,广泛吸取兄弟院校同类教材的优点,本着"精讲多练,突出技能训练,基础理论以够用为度"的原则,采用"任务 ...

  5. 大一计算机基础实用教程答案第二章,计算机基础实用教程(课件)第2章.ppt

    <计算机基础实用教程(课件)第2章.ppt>由会员分享,可在线阅读,更多相关<计算机基础实用教程(课件)第2章.ppt(23页珍藏版)>请在人人文库网上搜索. 1.计算机基础与 ...

  6. 计算机应用基础案例教程习题答案,新编计算机应用基础案例教程上机指导与习题集(朱尽蓉)-习题答案...

    新编计算机应用基础案例教程上机指导与习题集( 习题参考答案 第一部分 上机指导与习题集 第1章 计算机基础知识与系统组成 一. 选择题 (一)单选题 1.A 2.B 11.B 12.C 3.C 13. ...

  7. 计算机应用基础案例教程习题答案,新编计算机应用基础案例教程上机指导与习题集(朱尽蓉)-习题答案.doc...

    新编计算机应用基础案例教程上机指导与习题集(朱尽蓉)-习题答案 习题参考答案 第一部分 上机指导与习题集 第1章 计算机基础知识与系统组成 一. 选择题 (一)单选题 1.A2.B3.C4.D5.B6 ...

  8. ECMAScript 6.0基础入门教程(一)-ES6基础入门教程

    ECMAScript 6.0基础入门教程(一) 1.ES6简介 1.1 ES6的历史 ECMAScript简称ECMA或ES ECMAScript与JavaScript的关系 ECMA是Europea ...

  9. python爬虫用urllib还是reques_Python爬虫之urllib.request库

    爬虫--urllib.request库的基本使用 所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地.在Python中有很多库可以用来抓取网页,我们先学习urllib.req ...

最新文章

  1. Java多线程分析案例
  2. 【LeetCode从零单排】No.9 Palindrome Number
  3. 基于opencv实现图像差异检测
  4. Missing the OpenSSL lib
  5. .net mysql字符串截取_【MySQL】字符串截取之SUBSTRING_INDEX和【MySQL】字符串四则运算...
  6. C++Primer学习笔记:第5章 语句
  7. 详解--单调队列 经典滑动窗口问题
  8. 从完整的新手到通过TensorFlow开发人员证书考试
  9. html加载状态,js等待页面加载完成
  10. python面向对象(特征,原则)01
  11. RedHat 救援模式下排错
  12. java游戏2333整合包,3dm游戏运行库合集离线安装包
  13. 数据包络分析--Malmquist指数
  14. 大学用什么python教材_Python开发基础 大学教材
  15. 惠普HP CQ40 519TX XP系统安装以及XP驱动
  16. 计算机竞赛制作机器人,电脑制作活动机器人项目详细说明
  17. java音乐播放器代码_java 音乐播放器 示例源码(亲测可用)
  18. 一文搞定JVM常见工具和优化策略
  19. ANTHILL 自动化构建
  20. seaborn 频数统计直方图

热门文章

  1. Centos7制作局域网http的yum源
  2. java全文检索工具_全文检索工具elasticsearch:第三章: Java程序中的应用
  3. -9 逆序输出一个整数的各位数字_逆序对个数(归并排序)
  4. 配置frp报错start error: type [http] not support when vhost_http_port is not set
  5. hive启动报错:Exception in thread “main“ java.lang.NoSuchMethodError: com.google.common.base.Precondition
  6. linux脚本vrrp_script,keepalived 的 vrrp_script
  7. python爬取b站排行榜_实时爬取B站排行榜并保存为表格——每周一个爬虫小教程系列...
  8. 项目管理知识体系指南_MP考前冲刺丨项目管理知识体系指南(PMBOK)串讲(11)...
  9. linux perl的while循环中ctrl+c失效,perl循环控制
  10. oracle 31693,ORACLE expdp备份与ORA-31693、ORA-02354、ORA-01555