爬虫:Python爬虫学习笔记之Urllib库
本文是我在使用网易云课堂学习日月光华老师讲的“Python爬虫零基础入门到进阶实战”课程所做的笔记,如果大家觉得不错,可以去看一下老师的视频课,讲的还是很棒的。
Urllib库的四个模块
1.urllib.request打开和读取URL
2.urllib.error包含Urllib.request各种错误的模块
3.urllib.parse解析URL
4.urllib.robotparse解析网站robots.txt文件
Urllib库的使用
发送GET请求
# 引入urlopen库 用于打开网页
from urllib.request import urlopen
# 获取内容
html = urlopen('https://www.douban.com')
# 读取返回的内容
response = html.read()
# 输出(豆瓣首页二进制源代码)
print(response)
# 对二进制内容进行解码
# 输出(豆瓣首页文本代码)
print(response.decode('utf-8'))
实现效果
传递URL参数
# 引入requests请求模块
import urllib.request
# 引入网址解析模块
import urllib.parse
payload = {'q':'python','cat':'1001'}
requst_url = 'https://www.douban.com/search'
# 对要添加的URL参数进行编码
payload_encode = urllib.parse.urlencode(payload)
# 构造实际请求的URL
url = requst_url + '?' + payload_encode
# 请求直接返回的是二进制
response = urllib.request.urlopen(url)
# 解码并输出
print(response.read().decode('utf-8'))
实现效果
模拟浏览器发送GET请求
# 引入requests请求模块
import urllib.request
# 引入网址解析模块
import urllib.parse
url = 'https://www.douban.com'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36'}
# 构造请求 在url中添加User-Agent
request = urllib.request.Request(url, headers=headers)
response = urllib.request.urlopen(request).read()
POST发送一个请求
# 可以在下面直接调用request和parse
from urllib import request, parse
post_data = parse.urlencode([('key1', 'v1'), ('k2', 'v2')])
# 构造请求url,构造一个Request对象
url = request.Request('http://httpbin.org/post')
# 添加headers
url.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36')
response = request.urlopen(url, data=post_data.encode('utf-8')).read()
print(response)
urljoin函数
# 使用urljoin拼接正确URL
from urllib.parse import urljoin
urljoin('https://accounts.douban.com','/passport/login')
爬虫:Python爬虫学习笔记之Urllib库相关推荐
- 数据分析与爬虫实战视频——学习笔记(一)(python基础、urllib、超时设置、自动模拟HTTP请求、异常处理、浏览器伪装、代理服务器、新闻爬虫、淘宝登陆和图片爬取)
未经允许,请勿转载. 连载未完成状态 网址: [数据挖掘]2019年最新python3 数据分析与爬虫实战_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili https://www.bilibili ...
- Python爬虫入门(4):Urllib库的高级用法
Python爬虫入门(1):综述 Python爬虫入门(2):爬虫基础了解 Python爬虫入门(3):Urllib库的基本使用 Python爬虫入门(4):Urllib库的高级用法 Python爬虫 ...
- Python爬虫入门(3):Urllib库的基本使用
Python爬虫入门(1):综述 Python爬虫入门(2):爬虫基础了解 Python爬虫入门(3):Urllib库的基本使用 Python爬虫入门(4):Urllib库的高级用法 Python爬虫 ...
- Python学习笔记:requests库
Python学习笔记:requests库 利用requests这个功能强大的网络请求库,可以像浏览器一样发送各种HTTP请求来获取网站的数据. 一.运行环境 1.系统版本:Windows 10 2.P ...
- Python基础学习笔记之(二)
Python基础学习笔记之(二) zouxy09@qq.com http://blog.csdn.net/zouxy09 六.包与模块 1.模块module Python中每一个.py脚本定义一个模块 ...
- Python基础学习笔记之(一)
Python基础学习笔记之(一) zouxy09@qq.com http://blog.csdn.net/zouxy09 前段时间参加微软的windows Azure云计算的一个小培训,其中Pytho ...
- python自动化测试学习笔记合集
python自动化测试学习笔记-1 一.什么是自动化 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程.直白的就是为了节省人力.时间或硬件资源,提高测试效率,便引入了通过软件或程序自动化执行 ...
- python模块学习笔记
python模块学习笔记 1.Python自动发送邮件smtplib 2.制作二维码图片MyQR 3.绝对值模块math 4.CSV模块 5.openpyxl 模块,操作Excel文件 ExcelMa ...
- Python爬虫 | Python爬虫获取女友图片
Python爬虫 | Python爬虫获取女友图片 前言 程序说明 二次元女友获取程序 观察网页结构 页面解析 创建图片保存路径 图片下载 格式转换 爬取结果展示 完整程序 前言 (又到了常见的无中生 ...
- python自动化测试学习笔记合集三
上次我们学到了redis的一些操作,下面来实际运用以下. 这里我们先来学习一下什么是cookie和session. 什么是Cookie 其实简单的说就是当用户通过http协议访问一个服务器的时候,这个 ...
最新文章
- Linux 忘记密码如何登陆—续篇2救援模式
- 科学:揭示自由意志的生物学本质
- Scikit-learn环境的搭建
- intellij运行spark的maven方式运行WordCount
- Vue_案例_初始化显示_采用组件化编写页面_实现组件间通信---vue工作笔记0022
- 表格存储(TableStore)
- android谷歌打印插件下载地址,谷歌浏览器打印插件(Print Plus)
- XLINUX-FPGA开发-基础篇-数电-门电路
- ICIP2019论文合集
- 网络安全实验室—脚本关
- windows中truffle unbox react失败总结
- android studio一个好看的字体设置
- struts2 项目构建规划 (6)
- transform.position 绝对位置与相对位置
- 检测浏览器无痕模式下是否支持localStorage
- CJ Affiliate如何收款?多号操作怎么避免关联?
- 加入收藏 设为首页 代码
- RadioButton、CheckBox与checked事件
- 无锡计算机考试准考证打印
- 在LINUX下怎么播放MP3等音频文件啊?
热门文章
- [转]C++编译链接过程详解
- POJ - 3494
- PAT Basic 1056
- 【读书笔记】iOS-Web应用程序的自动化测试
- linux NFS 配置步骤
- 生成整数自增ID(集群主键生成服务)
- javascript基础知识-数组
- 关于父窗口、子窗口的操作(如关闭、打开、调用方法、刷新等等)
- ACM PKU 1251 Jungle Roads http://poj.org/problem?id=1251
- 时间操作(JavaScript版)—页面显示格式:年月日星期几