三个例子,一步步教你学会python爬虫
off999 2024-10-26 12:10 38 浏览 0 评论
网络爬虫简介
网络爬虫,也叫网络蜘蛛(Web Spider)。它根据网页地址(URL)爬取网页内容,而网页地址(URL)就是我们在浏览器中输入的网站链接。比如:https://www.baidu.com/,它就是一个URL。
1、审查元素
在浏览器的地址栏输入URL地址,在网页处右键单击,找到检查。(不同浏览器的叫法不同,Chrome浏览器叫做检查,Firefox浏览器叫做查看元素,但是功能都是相同的)
Python|三个例子,一步步教你学会爬虫
我们可以看到,右侧出现了一大推代码,这些代码就叫做HTML。什么是HTML?举个容易理解的例子:我们的基因决定了我们的原始容貌,服务器返回的HTML决定了网站的原始容貌。
Python|三个例子,一步步教你学会爬虫
为啥说是原始容貌呢?因为人可以整容啊!扎心了,有木有?那网站也可以"整容"吗?可以!请看下图:
Python|三个例子,一步步教你学会爬虫
我能有这么多钱吗?显然不可能。我是怎么给网站"整容"的呢?就是通过修改服务器返回的HTML信息。我们每个人都是"整容大师",可以修改页面信息。我们在页面的哪个位置点击审查元素,浏览器就会为我们定位到相应的HTML位置,进而就可以在本地更改HTML信息。
再举个小例子:我们都知道,使用浏览器"记住密码"的功能,密码会变成一堆小黑点,是不可见的。可以让密码显示出来吗?可以,只需给页面"动个小手术"!以淘宝为例,在输入密码框处右键,点击检查。
Python|三个例子,一步步教你学会爬虫
可以看到,浏览器为我们自动定位到了相应的HTML位置。将下图中的password属性值改为text属性值(直接在右侧代码处修改):
Python|三个例子,一步步教你学会爬虫
我们让浏览器记住的密码就这样显现出来了:
Python|三个例子,一步步教你学会爬虫
说这么多,什么意思呢?浏览器就是作为客户端从服务器端获取信息,然后将信息解析,并展示给我们的。我们可以在本地修改HTML信息,为网页"整容",但是我们修改的信息不会回传到服务器,服务器存储的HTML信息不会改变。刷新一下界面,页面还会回到原本的样子。这就跟人整容一样,我们能改变一些表面的东西,但是不能改变我们的基因。
2、简单实例
网络爬虫的第一步就是根据URL,获取网页的HTML信息。在Python3中,可以使用urllib.request和requests进行网页爬取。
- urllib库是python内置的,无需我们额外安装,只要安装了Python就可以使用这个库。
- requests库是第三方库,需要我们自己安装。
requests库强大好用,所以本文使用requests库获取网页的HTML信息。requests库的github地址:https://github.com/requests/requests
(1)requests安装
在cmd中,使用如下指令安装requests:
pip install requests
或者:
easy_install requests
(2)简单实例
requests库的基础方法如下:
Python|三个例子,一步步教你学会爬虫
官方中文教程地址:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html
requests库的开发者为我们提供了详细的中文教程,查询起来很方便。本文不会对其所有内容进行讲解,摘取其部分使用到的内容,进行实战说明。
首先,让我们看下requests.get()方法,它用于向服务器发起GET请求,不了解GET请求没有关系。我们可以这样理解:get的中文意思是得到、抓住,那这个requests.get()方法就是从服务器得到、抓住数据,也就是获取数据。让我们看一个例子(以 www.gitbook.cn为例)来加深理解:
># -*- coding:UTF-8 -*- import requests if __name__ == '__main__': target = 'http://gitbook.cn/' req = requests.get(url=target) print(req.text)
requests.get()方法必须设置的一个参数就是url,因为我们得告诉GET请求,我们的目标是谁,我们要获取谁的信息。运行程序看下结果:
Python|三个例子,一步步教你学会爬虫
左侧是我们程序获得的结果,右侧是我们在www.gitbook.cn网站审查元素获得的信息。我们可以看到,我们已经顺利获得了该网页的HTML信息。这就是一个最简单的爬虫实例,可能你会问,我只是爬取了这个网页的HTML信息,有什么用呢?客官稍安勿躁,接下来会有网络小说下载(静态网站)和优美壁纸下载(动态网站)实战,敬请期待。
记得关注后续更新,文末分享一波福利给大家!
关注+私信我“py书籍”即可获取!
相关推荐
-
- window截图快捷键(windows自带截屏的方法)
-
1、按Prtsc键截图这样获取的是整个电脑屏幕的内容,按Prtsc键后,可以直接打开画图工具,接粘贴使用。也可以粘贴在QQ聊天框或者Word文档中,之后再选择保存即可。2、按Ctrl+Prtsc键截图截屏获得的内容也是整个电脑屏幕,与上面的...
-
2026-01-14 13:15 off999
- win10一定要创建账户吗(win10需要创建microsoft账户吗)
-
win10系统安装不需要申请微软账号。如果是在安装win10的过程中,则使用本地账户登录,从安装主要步骤完成之后进入后续设置阶段开始,步骤如下:1、首先就是要输入产品密钥,或者点击左下角“以后再说”。...
- win10显示已禁用输入法(w10系统已禁用输入法)
-
在使用win10的过程中,有时候利用第三方软件过度优化开机启动项目就容易导致win10无法打开输入法问题,这个情况是由于ctfmon程序无法正常启动所致,一般表现在电脑桌面右下角显示已禁用ime的提示...
- windows pad(windowspad官方网站入口)
-
平板电脑安装windows方法如下1、首先,下载并安装U启动PE制作工具,这里要特别注意的是,要下载装机版的。2、点开PE制作工具的主界面,插入U盘,等待U盘被制作工具识别出来后。3、点击归还空间,然...
- 为什么电脑一开机就死机(为什么电脑一开机就死机重启)
-
一、软件问题: 1、导致死机的一个重要原因就是病毒程序的入侵。大家都知道,病毒程序是一种会破坏计算机软件系统,并占用极大的系统资源的一种恶意攻击程序,它会给计算机本身的软件造成很大的伤害。死机时的首...
- 0x0000007a蓝屏解救方法win7
-
0x0000007A说明是内存或虚拟内存(硬盘)的问题,你可以按顺序尝试如下操作:1、更改虚拟内存页面文件位置:我的电脑→右键→属性→高级→性能设置→高级→虚拟内存更改→取消原来选择的驱动器(默认在C...
- 系统小说排行榜完本经典之作
-
超级兑换系统超级修仙超级客栈系统貌似高手在异界重生之修仙系统超级修仙系统异界之兑换成圣(贱圣VS奸神)+超级兑换(火山飞狐)+穿越之无敌兑换(开心小帅)+兑换器修仙(轻舞流芒)+...
- 手机能修复u盘吗(手机修复u盘工具下载)
-
1.在手机上可以恢复u盘,当手机SD卡或U盘插入电脑中时,如果提示“文件或目录损坏且无法读取”的信息时,我们首先需要对手机SD卡或U盘进行目录修复操作。插入待修复的U盘,打开“我的电脑”,找到Sd卡...
- 怎么查电脑显卡的信息(电脑怎么查看显卡信息)
-
要查看电脑的显卡信息,可以按照以下步骤进行操作:1.使用快捷键Win+R打开“运行”对话框。2.在运行对话框中输入“dxdiag”并点击“确定”按钮,打开“DirectX诊断工具”。3....
- 电脑上找不到输入法怎么办(电脑中找不到输入法)
-
如果电脑上不显示输入法,您可以尝试以下解决方法:1.检查输入法设置:首先,您可以检查电脑的输入法设置。在Windows系统中,您可以点击任务栏右下角的输入法图标(一般为字母或语言标志),然后选择“显...
- win10系统本地连接在哪里(window10的本地连接在哪)
-
要找到本地连接,可以按照以下步骤在Windows10系统中进行:1.点击“开始”菜单,然后选择“设置”(齿轮图标)。2.在设置窗口中选择“网络和Internet”选项。3.在“网络和Inter...
- win10有32位版本吗(win10还有32位的吗)
-
64位版本好。32位的操作系统处理数据的能力较慢,支持的内存小,并且只支持基于32位的软件,不能运行64位的软件。64位的操作系统处理数据的能力较快,支持的内存较大,能运行32位的软件,也能运行6...
- 账号密码大全真的(各种账号密码)
-
英雄号,是4399官方版本的账号:1973024549密码:123456这是自己的,不想玩了,送给看到的有缘人吧^o^1、默认的机顶盒密码6321,也可以进行更改,方法:首先,通过搜索“中国电信”...
- windows server2019(windowsserver2019密钥激活码)
-
WindowsServer2019那是给服务器用的系统。服务器的作用是计算数据,而不是图像处理。所以WindowsServer2019里面精简了大量有关图形的功能。办公和打游戏是需要图像处理的...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
