urllib使用案例
1.HTTP请求协议
关键字 | 说明 |
Request URL | 请求的URl地址 |
Request Method | 请求的方法:GET/POST |
Status Code |
状态码: 200:访问成功 206:视频传输 403:不允许访问 404:没有找寻此界面 500:服务器错误 |
Remote Address | 远端地址 : ( IP:端口号 ) |
Connection | 连接类型 |
Content-Encoding |
数据压缩方式 常用压缩算法: Content-Encoding:gzip Content-Encoding:compress Content-Encoding:deflate Content-Encoding:identity Content-Encoding:br |
关键字 | 说明 |
Accept | 发送端希望接受的数据类型 |
Accept-Encoding | 发送端支持的压缩算法 |
Accept-Language | 发送端支持的语言 |
Cache-Contro | 缓存机制 |
Cookie | Cookie |
User-Agent | 用户代理 (模拟浏览器登录,绕过反爬机制) |
2.urllib模块使用
# 导包import urllib.request as ur# read() 是将返回的HTTPResponse对象转换成网站信息以字节的方式返回
ret = ur.urlopen('【要请求的网站地址】').read()print(ret)# 导入到本地文件
with open('html名字','wb') as f:f.write(ret)
3.Request对象和URL编码
1> Request对象
参数解析:
参数 | 作用 |
url | 要请求的url(网址) |
data | data必须是bytes(字节流)类型,如果是字典,可以用urllib.parse模块里的urlencode()编码 |
headers | headers是一个字典类型,是请求头。可以在构造请求时通过headers参数直接构造,也可以通过调用请求实例的add_header()方法添加。 |
origin_req_host | 指定请求方的host名称或者ip地址 |
unverifiable | 设置网页是否需要验证,默认是False,这个参数一般也不用设置。 |
method | method是一个字符串,用来指定请求使用的方法,比如GET,POST和PUT等。 |
# 导包
import urllib.request as ur# Request() 可以封装Hander和Data
request = ur.Request('被提取的网站')response = ur.urlopen(request).read()print(response)
2> URL编码
在提取的URL地址中可能会有中文,在python中是不被识别的会被转义,这时我们就可以导入 urllib.parse 模块把他转码过来。
# 导包import urllib.parse as up# 定义转码的数据
data = {(URl数据)
}# URL编码
url_data = up.urlencode(data
)print(url_data)# 解码ret = up.unquote(url_data)print(ret)
4.Request对象之Http Post请求
案例:百度翻译爬虫
import urllib.request as ur
import urllib.parse as up
import json# 实例化data
data = {'kw':'python'
}url_data =up.urlencode(data) # 对 data 编码request = ur.Request(url='https://fanyi.baidu.com/sug',data=url_data.encode('utf-8')
)response = ur.urlopen(request).read()# print(response)ret = json.loads(response)
# print(ret)translate = ret['data'][0]['v'] # 索引取值
print(translate)
5.Requst对象之Hander伪装策略
Hander是Request里的参数,Hander 中经常参加两个参数:1,cookie 2,user-agent 用于模拟浏览器登录,来绕过浏览器的反爬策略,常用的是 user-agent 来模拟浏览器访问
user_agent 请求头模板:https://blog.csdn.net/Bocker_Will/article/details/122641248?spm=1001.2014.3001.5502
import urllib.request as ur
import user_agent # 导入准备的user_agentrequest = ur.Request(url='https://edu.csdn.net/',headers={'User-Agent':user_agent.get_user_agent_pc()}
)response = ur.urlopen(request).read()
urllib使用案例相关推荐
- 一木.溪桥学爬虫-03:请求模块urllib、 urllib.request、urllib.parse.urlencode、urllib.parse.quote(str)、.unquote()
一木.溪桥 在Logic Education跟Jerry学爬虫 07期:Python 爬虫 一木.溪桥学爬虫-03:请求模块urllib. urllib.request.urllib.parse.ur ...
- python程序实例教程基础-Python程序设计实例教程
图书简介 配套资源:电子课件,习题答案,教学大纲,源代码 本书特色: ★本书共14个项目,主要包括Python编程基础.网络爬虫.数据分析和数据可视化四大部分内容. ★全部代码适用于Python 3. ...
- python编程基础与应用-Python程序设计基础与应用
图书简介 配套资源:部分全彩印刷.电子课件.教学大纲.习题答案.源代码 本书特色: ★知名Python教育者董付国老师新作. ★言简意赅,案例丰富,配套资源超全部分内容全彩呈现. ★本书全部代码适用于 ...
- python程序设计基础与应用 机械工业出版社_Python程序设计基础与应用
图书简介 配套资源:部分全彩印刷.电子课件.教学大纲.习题答案.源代码 本书特色: ★知名Python教育者董付国老师新作. ★言简意赅,案例丰富,配套资源超全部分内容全彩呈现. ★本书全部代码适用于 ...
- python编程实例教程-Python程序设计实例教程
图书简介 配套资源:电子课件,习题答案,教学大纲,源代码 本书特色: ★本书共14个项目,主要包括Python编程基础.网络爬虫.数据分析和数据可视化四大部分内容. ★全部代码适用于Python 3. ...
- python程序设计基础董付国 pdf-Python程序设计基础与应用
图书简介 配套资源:部分全彩印刷.电子课件.教学大纲.习题答案.源代码 本书特色: ★知名Python教育者董付国老师新作. ★言简意赅,案例丰富,配套资源超全部分内容全彩呈现. ★本书全部代码适用于 ...
- Python网络爬虫(三) 爬虫进阶
###目录: Python网络爬虫(一)- 入门基础 Python网络爬虫(二)- urllib爬虫案例 Python网络爬虫(三)- 爬虫进阶 Python网络爬虫(四)- XPath Python ...
- Urllib库函数、代理、爬取案例
Urllib库函数.代理.爬取案例 urllib库-urlopen函数用法 from urllib import request resp=request.urlopen('http://www.ba ...
- Python爬虫进阶——urllib模块使用案例【淘宝】
Python爬虫基础--HTML.CSS.JavaScript.JQuery网页前端技术 Python爬虫基础--正则表达式 Python爬虫基础--re模块的提取.匹配和替换 Python爬虫基础- ...
最新文章
- Java如何支持函数式编程?
- 1.1 torch_数据操作
- python乒乓球比赛规则介绍_乒乓球的比赛规则介绍
- Oracle在Linux内核参数的修改
- [转载] python判断字符串中包含某个字符串_干货分享| Python中最常用的字符串方法
- spring mvc实现ajax 分页
- vc6.0快捷键小结收藏
- 2008年希赛软考学院招生
- 孙玄:“玄姐”,特立独行的架构师
- 利用wireshark分析Voip语音RTP协议
- 为android开发安装ubuntu系统环境纪要
- (二)U盘安装Windows Server 2008 R2系统
- ctf镜子里面的世界_一个小编姐姐的CTF入坑之旅
- 老男孩教育Linux50期远程控制连接
- ERP实施-有色金属-铜冶炼
- Python国际象棋棋盘绘制
- 泰科 | 高压连接革命!CSJ高压连接器与您共赢电动汽车新时代
- Python爬取各种类型网站数据(视频,图片居多)
- 2020国开c语言程序设计1075,中央电大秋季C语言程序设计期末试卷及答案代码1075,01(7页)-原创力文档...
- 蓝队攻击的四个阶段(二)