Python爬虫——Urllib库-上

        这几天都在为了蓝桥杯做准备,一直在刷算法题,确实刷算法题的过程是及其的枯燥且枯燥的。于是我还是决定给自己找点成就感出来,那么Python的爬虫就这样开始学习了。 

注:文章源于观看尚硅谷爬虫视频后笔记

目录

Urllib库

基本使用

一个类型和六个方法

一个类型

六个方法

下载功能

请求对象的定制

url的组成

(1)协议

(2)主机

(3)端口号

(4)路径

(5)参数

(6)锚点

总结


       

Urllib库

这个库和其他的爬虫库不一样,这个库是Python自带的,所以一般是不需要安装的。

基本使用

urllib的基本使用,我们把百度页面的所有源代码全部拿下。

就是这个页面的全部东西,我们可以使用urllib来拿下它。

代码如下:


# 使用urllib来获取百度首页的源码
import urllib.request# 1.定义一个URL,就是要访问的网址
url = "http://www.baidu.com/"# 2.模拟浏览器向服务器发送请求
response = urllib.request.urlopen(url)# 3.获取响应中的页面中的源码
# read返回的是字节形式的二进制数据
# 将二进制的数据转换为字符串
# 解码:二进制 -> 字符串  decode('编码格式字符集')
content = response.read().decode('utf-8')# 4.打印一下数据
print(content)

一个类型和六个方法

一个类型

首先我们可以看见服务器返回给我们的response的类型是HTTPResponse

六个方法

[1]  read( ):按照一字节一字节的读取,效率较慢

扩展:read( n ):n是多少就返回多少个字节

[2] readline():读取一行

[3] readlines():一行行的读取,直到读取完毕

[4] getcode():获取浏览器状态码,200证明没有报错

[5] geturl():获取url地址

[6] getheaders():获取响应头(状态信息)


# 使用urllib来获取百度首页的源码
import urllib.request# 1.定义一个URL,就是要访问的网址
url = "http://www.baidu.com/"# 2.模拟浏览器向服务器发送请求
response = urllib.request.urlopen(url)# 一个类型和六个方法
print(type(response))content = response.read()
print(content)# 数字代表返回字节的数量
content = response.read(5)
print(content)# 读取一行
content = response.readline()
print(content)# 一行行的读取,直到读取完毕
content = response.readlines()
print(content)# 获取状态码
content = response.getcode()
print(content)# 获取URL地址
urlP = response.geturl()
print(urlP)# 获取响应头(状态信息)
headers = response.getheaders()
print(headers)

下载功能

urlretrieve(url, “给保存下来的文件取一个文件名,注意后缀”)
import urllib.request# 下载一个网页
url_page = "http://www.baidu.com"# url 代表下载路径,filename代表文件的名字
urllib.request.urlretrieve(url_page, "baidu.html")# 下载图片
url_img = "data:image/jpeg;base64,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"
urllib.request.urlretrieve(url_img, "zrn.jpg")# 下载视频
url_video = "https://vdept3.bdstatic.com/mda-nh1e9kssmc87p4kd/sc/cae_h264/1659450984449082322/mda-nh1e9kssmc87p4kd.mp4?v_from_s=hkapp-haokan-hbe&auth_key=1709180938-0-0-32b067f6cb3b6ecaa687926ed3921790&bcevod_channel=searchbox_feed&pd=1&cr=2&cd=0&pt=3&logid=1738376535&vid=10757595435498108110&klogid=1738376535&abtest=116096_1"
urllib.request.urlretrieve(url_video, "爬虫下来的文件/ZRNvideo.mp4")

        注意爬下来的视频在pycharm中无法直接播放,因为它并不内置视频解码器,需要在文件管理器或者其他的播放软件中播放。


请求对象的定制

url的组成

http/https        www.baidu.com             80/443                                 ?号后面的数据       #

协议                       主机                        端口号                路径                参数               锚点

https://www.baidu.com/s?ie=UTF-8&wd=%E7%AB%A0%E8%8B%A5%E6%A5%A0

                                                                                           s             ie=UTF-8...

(1)协议

http

https:增加了SSL更加的安全

(2)主机

也就是域名,主机地址

(3)端口号

http的端口号是 80

https的端口号是 443

MySQL是 3306

Oracle 是 1521

Redis 是 6379

MongoDB 是 27017

(4)路径
(5)参数
(6)锚点

如果我们使用https来获取百度首页的全部数据时


import urllib.requesturl = "https://www.baidu.com"response = urllib.request.urlopen(url)content = response.read().decode("utf-8")
print(content)

会发现真的只有这么一点内容

为什么呢?因为我们遇到了一个反扒的措施

        UA:User Agent叫做用户代理,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统以及版本,CPU类型、浏览器以及版本。浏览器内核、浏览器渲染引擎、浏览器语言和浏览器插件等

python语法: request = urllib.request.Request( )

所以我们需要伪装一下

常用的UserAgent库下载_流行的UserAgent手机库UA_UA标识网 (kuzhazha.com)

获取UA可以通过上面的网站搜索,也可以通过另一种方法

再刷新一下页面

往下滑就可以找到

然后使用

urllib.request.Request()这个方法即可
import urllib.requesturl = "https://www.baidu.com"headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36"
}
# 因为urlopen()方法不能存储字典,所以headers无法传入
# 请求对象的定制
request = urllib.request.Request(url=url, headers=headers)response = urllib.request.urlopen(request)content = response.read().decode("utf-8")
print(content)

这样就可以完全把百度首页的代码爬下来了

总结

简单使用,一学就会!

ヾ( ̄▽ ̄)Bye~Bye~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/709766.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自定义View中的ListView和ScrollView嵌套的问题

当我们在使用到ScrollView和ListView的时候可能会出现显示不全的问题。那我们可以进行以下分析 ScrollView在测量子布局的时候会用UNSPECIFIED。通过源码观察, 在ScrollView的onMeasure方法中 Overrideprotected void onMeasure(int widthMeasureSpec, int heightMe…

MySQL进阶:大厂高频面试——各类SQL语句性能调优经验

👨‍🎓作者简介:一位大四、研0学生,正在努力准备大四暑假的实习 🌌上期文章:MySQL进阶:强推,冲大厂必精通!MySQL索引底层(BTree)、性能分析、使用…

HTTP笔记(五)

个人学习笔记(整理不易,有帮助点个赞) 笔记目录:学习笔记目录_pytest和unittest、airtest_weixin_42717928的博客-CSDN博客 目录 一:HTTP报文首部 (1)HTTP请求报文 (2&#xff09…

Kaggle 竞赛入门

打比赛不用写算法源码,应用的时候不用自己写。学习的时候可以自己写。 Kaggle 竞赛入门 认识 Kaggle 平台Kaggle竞赛知识前提结构化数据前提图像数据文本数据 Kaggle竞赛套路一个赛题的完整流程 认识 Kaggle 平台 Kaggle 官网 主页,比赛(数据…

复现nerfstudio并训练自己制作的数据集

网站:安装 - nerfstudio GitHub - nerfstudio-project/nerfstudio:NeRF 的协作友好工作室 安装之前要确保电脑上已经有CUDA11.8或以上版本(更高版本的可以安装11.8的toolkit) 创建环境 conda create --name nerfstudio -y pyt…

浅谈 Linux 网络编程 - Server 端模型、sockaddr、sockaddr_in 结构体

文章目录 前言前置知识Server 端核心模型 【重点】相关函数 【重点】socket 函数bind 函数listen 函数accept 函数close 函数 sockaddr 数据结构 【重点】 前言 本文主要是对 Linux 网络编程中,Server 端的模型、相关函数 以及 sockaddr、sockaddr_in 结构体做介绍…

黑马程序员——接口测试——day05——Request库、Cookie、Session、UnitTest框架

目录: Requests库 Requests库安装和简介设置http请求语法应用案例 案例1案例2案例3案例4Cookie Cookie简介CookieSession认证方式案例5-看演示,此代码不需实现Session Session简介Session自动管理Cookie案例6面试题Cookie和Session区别获取指定响应数据…

300分钟吃透分布式缓存(拉钩教育总结)

开篇寄语 开篇寄语:缓存,你真的用对了吗? 你好,我是你的缓存老师陈波,可能大家对我的网名 fishermen 会更熟悉。 我是资深老码农一枚,经历了新浪微博从起步到当前月活数亿用户的大型互联网系统的技术演进…

Linux|centos7|yum和编译安装ImageMagick记录

一, yum安装imagemagick imagemagick这个软件是图像文件的处理神器,可以文字转图像以及图像的剪辑等等工作,也是配合人工智能工程的不可或缺的工具,具体的用处和特点就不在这里废话了,有兴趣的百度就行了 本次是在…

SpringBoot底层原理

SpringBoot底层原理 一 配置优先级 1.配置方式 Springboot中支持三种配置方式,分别为: application.propertiesapplication.ymlapplication.yaml 2.配置优先级 当存在多份配置文件时,配置文件会按照它们的优先级生效。 优先级从高到底…

蓝桥杯-灌溉

参考了大佬的解题思路&#xff0c;先遍历一次花园&#xff0c;找到所有的水源坐标&#xff0c;把它们存入 “水源坐标清单” 数组内&#xff0c;再读取数组里的水源坐标进行扩散。 #include <iostream> using namespace std; int main() {int n,m,t,r,c,k,ans0,list_i0;…

(每日持续更新)jdk api之OutputStreamWriter基础、应用、实战

博主18年的互联网软件开发经验&#xff0c;从一名程序员小白逐步成为了一名架构师&#xff0c;我想通过平台将经验分享给大家&#xff0c;因此博主每天会在各个大牛网站点赞量超高的博客等寻找该技术栈的资料结合自己的经验&#xff0c;晚上进行用心精简、整理、总结、定稿&…

c++ for 循环语句

循环语句 在C中&#xff0c;有几种循环语句可用于重复执行一段代码&#xff0c;直到满足指定条件为止&#xff0c;主要有 for 循环、while 循环、do-while 循环三种循环语句。三者区别&#xff1a; 循环类型特点for 循环1. 适用于已知循环次数的情况&#xff0c;循环次数事先…

推荐系统经典模型YouTubeDNN代码

文章目录 前言数据预处理部分模型训练预测部分总结与问答 前言 上一篇讲到过YouTubeDNN论文部分内容&#xff0c;但是没有代码部分。最近网上教学视频里看到一段关于YouTubeDNN召回算法的代码&#xff0c;现在我分享一下给大家参考看一下&#xff0c;并附上一些我对代码的理解…

一张图读懂人工智能

一、生成人工智能的概念和应用&#xff0c;以及如何使用大型语言模型进行聊天和创造原创内容。这项技术将会对人类和企业产生深远影响。 计算机获得学习、思考和交流的能力&#xff0c;被称为生成人工智能。生成人工智能可以立即获得人类所有知识的总和&#xff0c;并回答任何…

综合实战(volume and Compose)

"让我&#xff0c;重获新生~" MySQL 灾难恢复 熟练掌握挂载卷的使用&#xff0c;将Mysql的业务数据存储在 外部。 实战思想: 使用 MySQL 5.7 的镜像创建容器并创建一个普通数据卷 "mysql-data"用来保存容器中产生的数据。我们需要容器连接到Mysql服务&a…

TeXiFy IDEA 编译后文献引用为 “[?]“

文章目录 1. 问题描述2. 原因分析3. 解决方案3.1 添加自动化脚本3.2 附录——配置一览表 1. 问题描述 在 IDEA 中使用 TeXiFy IDEA 编译后的文章文献引用是 [?] 2. 原因分析 根据网上教程所生成的目录结构如下&#xff1a; 报错日志&#xff1a; 根据 /out 目录结构&#x…

【vmware安装群晖】

vmware安装群晖 vmware安装群辉&#xff1a; vmware版本&#xff1a;17pro 下载链接&#xff0c; https://customerconnect.vmware.com/cn/downloads/details?downloadGroupWKST-1751-WIN&productId1376&rPId116859 激活码可自行搜索 教程&#xff1a; https://b…

C++重新入门-string容器

目录 1.包含头文件 2.创建字符串 3.获取字符串长度 4.字符串拼接 5.字符串比较 相等性比较 大小比较 使用比较函数 6.访问字符串 7.查找子串 8.字符串修改 替换子串 插入字符或子串 删除字符或子串 9.提取子串 10.总结 当谈到C中的字符串时&#xff0c;std::str…

135.乐理基础-半音是小二度吗?全音是大二度吗?三全音

内存参考于&#xff1a;三分钟音乐社 上一个内容&#xff1a;134.乐理基础-音程名字的简写-CSDN博客 上一个内容里练习的答案&#xff1a; 半音可以与小二度划等号吗&#xff1f;全音可以和大二度划等号吗&#xff1f; 严格来说它们是不能划等号的&#xff0c;半音与全音是侧…