Python爬虫 (适合初学者)

2023-12-16

关于爬虫是什么,怎样保证爬虫的合法性小编在这就不再过多的阐述,从本章起,小编将和大家一起分享在学习python爬虫中的所学,希望可以和大家一起进步,也希望各位可以关注一下我!

首先我们来初步了解下如何使用开发者工具进行抓包。以 https://fanyi.baidu.com/ 为例。在网页界面右键点击检查,或使用CTRL+SHIFT+I打开。

图片

如图打开了开发者工具后我们点击网络得到如上界面。接着按照提示按CTRL+R进行刷新。刷新后如下图所示:

图片

此时我们即可看到我们获取到了很多很多的数据包,但是想要完成一个爬虫程序的第一步就是在这众多的包中,找到正确的API数据接口。通俗点将就是你想要获得一个小球,而这个小球藏在一个小箱子里,而此时有很多很多个小箱子,想要获得小球则需要找出小球究竟藏在哪个箱子里。一般在实际操作中我们只需要使用到上图小编圈出来的两个地方,一个是全部、另一个是Fetch/XHR。在全部中会显示所有请求获取到的包其中包括:网页源码、css、js、图片、ajax等。而在Fetch/XHR中则只能看到ajax请求所获得的数据包。ajax请求一般是对动态数据进行请求,即前端向后端发起请求,动态请求到后端数据库中的数据,并将这些数据展示在前端网页中。(可能会感觉听起来云里雾里,没关系哦,后面根据一个一个的例子可以更好的了解,或者小编以后更新django框架时会细讲ajax请求)

接下来我们进入爬虫的第一个程序(百度翻译的单词爬虫)

在百度翻译中我们可以输入一个单词,然后网页会动态的在界面上给我们展示这个单词的意思,因此我们可以非常非常非常自信的确定,单词意思的数据是通过动态请求得到的,既然说动态请求得到的,那么又可以确定这八成就是一个ajax请求。因此我们选中Fetch/XHR。

图片

根据观察此时看到Fetch/XHR中只有这三个数据包,但点开查看其响应(即返回值)时确发现好像没有我们需要的数据。这个什么呢,不必慌张,因为我们并还没有在左边输入单词的框中输入过单词,于是我们可以在左边随意的输入一个英文单词进行测试:

图片

当我们输入完一个单词后发现,右边又抓到了很包,对这些抓到的包进行分析可以找到如下这个数据包:

图片

图片

图片

由上述三种图可以看出,这个包中就藏着我们想要的数据。通过查看该包的标头可以确定,请求数据的请求URL是:https://fanyi.baidu.com/sug,且发起的请求方式为POST,且根据Content-Type: application/json可以得出请求的返回值为json格式,在payload中可以分析出该POST请求需要携带一个名为kw的参数,参数的值为我们需要查询的单词。这时我们即可以弄清楚该网站查询单词的运行机制了:我们在查询框中输入英文单词,网页前端拿到我们输入的单词,通过ajax请求向https://fanyi.baidu.com/sug发起请求,并将我们输入的英文单词作为表单数据传输给后端,后端根据我们输入的单词在数据库中查询该单词,拿到该单词的意思然后再次返回给前端并展示出来。接下来就进入令人激动的coding代码部分。

代码部分

1、安装requests包(在 cmd 命令行中输入以下语句进行自动下载安装):
前提需要电脑上已经装有python且配置了环境变量

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests

图片

2、导入requests包并确定url:

import requestsurl = 'https://fanyi.baidu.com/sug'

3、进行UA伪装

headers = {        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 Edg/98.0.1108.56'    }

UA伪装:可以理解为将我们的爬虫程序伪装起来,增加请求成功的可能性。

图片

只需在数据包的标头中,拉到最下面,即可以找到这个User-Agent,将其复制下来,像小编一样在python用字典进行封装即可。
4、确定参数,并对数据接口发起请求获得返回结果

data = {     #post请求携带的参数       'kw':'dog'   }#对目标url发起post请求response = requests.post(url=url,headers=headers,data=data).json()print(response)

结果如下:

图片

至此一个最最最简单的爬虫程序就写完了,是不是很简单!接下来我们对程序进行完善,所有代码如下:

import requestsdef spider(url,headers,data):    response = requests.post(url=url, headers=headers, data=data).json()  # 对目标url发起post请求    for key in response['data'][0]:        print(key,response['data'][0][key])def main():    url = 'https://fanyi.baidu.com/sug'  #需要请求的url    headers = {  #进行UA伪装        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 Edg/98.0.1108.56'    }    while True:  #使程序进入死循环        kw = input("输入需要查询的单词:")        data = {     #post请求携带的参数            'kw':kw        }        spider(url=url,headers=headers,data=data)  #调用自定义函数spiderif __name__ == '__main__':    main()

图片

这样一个简单的基于爬虫的单词查询器就完成啦!其中对json数据进行提取的代码如果有看不懂的小伙伴可以去学习一个python的字典。
希望该文章可以帮助到你!如果觉得有用可以关注一下我哦!后序会写更多的例子。

-END-


学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、自动化测试带你从零基础系统性的学好Python!

???? 安全链接,放心点击

????Python学习大礼包????

在这里插入图片描述

????Python学习路线汇总????

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。 (全套教程文末领取哈)
在这里插入图片描述

????Python必备开发工具????

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

????Python实战案例????

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

????Python书籍和视频合集????

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

????Python面试刷题????

????Python副业兼职路线????

在这里插入图片描述
在这里插入图片描述
这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以点击链接免费领取 或者 保存图片到 wx扫描二v码免费领取 保证100%免费

???? 安全链接,放心点击

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python爬虫 (适合初学者) 的相关文章

随机推荐

  • Vue:Vue的开发者工具不显示Vue实例中的data数据

    一 情况描述 代码 页面 可以看到 input 获取到了 data 数据 但是 vue devtool 没有获取到 data 数据 二 解决办法 解决办法1 data name 的值不能全是中文 比如改成 aa尚硅谷 解决办法2 data
  • 帮我超越技术壁垒的“泰斗”服务--Amazon ElastiCache

    本篇文章授权活动官方亚马逊云科技文章转发 改写权 包括不限于在 亚马逊云科技开发者社区 知乎 自媒体平台 第三方开发者媒体等亚马逊云科技官方渠道 目录 前言 Amazon ElastiCache概念 实际体验操作 Amazon Elasti
  • 4款免费开源AI换脸工具,支持图片换脸、视频换脸、直播实时换脸(附安装链接)

    昨天给大家分享了AI短剧玩法 不少同学表示对AI视频换脸要求多推荐几个工具 那么本期就系统系整理一下目前市面上比较好用的4个免费开源 可本地化安装的AI换脸工具合集 并附带下载地址 1 Roop unleashed Roop这款工具 应该是
  • 低代码开发:属于“美味膳食”还是“垃圾食品”

    目录 引言 低代码是什么 低代码的优点 使用挑战 未来展望 最后 引言 随着数字化转型的迅猛发展 低代码开发平台逐渐成为了企业和开发者的关注焦点 尤其是前两年低代码的迅速火爆 来势汹汹 号称要让大部分程序员下岗的功能 但是过了不到三年时间
  • 程序员养生指南

    目录 前言 调整工作习惯 保持合理饮食 积极参与活动 保持良好睡眠 精神调适与放松 结语 前言 不用多说 想必都知道程序员是一份高强度 高压力 高危 的职业 长期坐姿 熬夜加班等不良生活习惯会对人的身体健康造成负面影响 长时间的工作 高强度
  • Vue:用IDEA开发Vue,标签语法爆红问题处理

    一 场景描述 我在 IDEA 中 学习 Vue 课程 入门学习时 是在 html 文件中 script 引入 vue js 文件方式 此时 在 html 文件中用 v 标签 爆红 二 解决办法 打开 菜单栏 File Settings 选择
  • 展会回顾|CASAIM应邀参加一汽大众秋季创新科技展,展出最新的第二代CASAIM-IS自动化测量系统

    11月30日至12月1日 CASAIM应邀参加一汽大众秋季创新科技展 展出最新的第二代CASAIM IS自动化测量系统 现场一汽大众相关领导和成员及其他厂商莅临参观 就自动化测量技术应用进行深入交流和探讨 第二代CASAIM IS自动化测量
  • 参加2023谷歌开发者社区 DevFest的洞察与感悟

    目录 前言 关于GDG 主会场精彩分享 分会场干货满满 共创未来之旅 参会体验 结束语 前言 在12月10日 DevFest又一次来临了 潮流与技术的光芒同时绽放 作为一名热衷技术的开发者 我有幸参与了这次盛会 也非常荣幸能够和线上三十万开
  • 通信子网在计算机网络中的地位和作用

    一 通信子网是计算机网络的核心组成部分 通信子网是计算机网络的核心组成部分 它负责为计算机网络中的各种设备提供通信支持 无论是主机之间的数据传输 还是主机与终端之间的数据通信 都需要通过通信子网来实现 通信子网是连接各个设备的关键基础设施
  • 大揭秘!Python处理办公自动化的10大场景!

    知乎上有个热门问题 Python 未来会成为大众办公常用编程工具吗 在编程世界里 Python已经是名副其实的网红了 曾经一个学汉语言的研究生 问我怎么学Python 因为他们课程论文里需要用到文本分析 用Python来跑数据 我和他说 你
  • 计算机网络中的通信子网主要有哪些功能?

    计算机网络中的通信子网主要具有以下功能 负责全网的数据通信 通信子网通过使用各种通信协议和传输控制功能 能够确保数据从一台主机安全 准确地传输到另一台主机 这包括数据的封装 解封装 传输控制 差错控制等过程 完成各种网络数据的处理 转换和交
  • 计算机网络中的通信子网:架构、协议与技术简介

    在计算机网络中 通信子网是负责实现主机之间以及主机与终端之间数据传输的核心部分 它由一系列硬件设备和通信协议组成 为上层应用提供可靠 高效和透明的数据传输服务 本文将详细介绍通信子网的架构 协议与技术 一 通信子网的架构 星型拓扑 星型拓扑
  • Python爬虫是否合法?

    Python爬虫是否合法的问题颇具争议 主要涉及到使用爬虫的目的 操作方式以及是否侵犯了其他人的权益 本文将介绍Python爬虫的合法性问题 并提供一些相关的法律指导和最佳实践 1 什么是Python爬虫 Python爬虫是一种自动化程序
  • 学python如何办公自动化?学这些就够了

    我们天天都在忙 究竟在忙些什么 查找各种文件 在一个个文件夹里来回穿梭 在TXT XLS XLSX DOC DOCX PPT PDF文档之间来回切换 复制 粘贴 运指如飞 打开几十个网页 以便及时获取信息 将各种数据输入系统 以及把数据填写
  • 超实用!34 个 Python 自动化办公库清单!

    今天给大家分析34个常用的Python自动化办公库 本次内容涵盖了 Excel Word PPT ODF PDF 邮件 微信 文件处理等所有能在办公场景实现自动化的库 希望能够对大家有所帮助 Python Excel自动化库 1 xlwin
  • wireshark使用

    1 抓包界面介绍 2 过滤 1 ip过滤 or 端口过滤 ip src 192 168 1 104 显示源地址为192 168 1 104的数据包列表 ip dst 192 168 1 104 显示目标地址为192 168 1 104的数据
  • 如何自学成 Python 大神?这里有些建议

    人生苦短 我用 Python 为什么 简单明了的理由当然是开发效率高 但是学习 Python 的初学者往往会面临以下残酷的现状 网上充斥着大量的学习资源 书籍 视频教程和博客 但是大部分都是讲解基础知识 不够深入 也有的比较晦涩 难以理解
  • 这或许是最全的 Python 数据分析指南(全)

    因工作需求经常会面试一些数据分析师 一些 coding 能力很强的小伙伴 当被问及数据分析方法论时一脸懵逼的 或者理所当然的认为就是写代码啊 在文章开头先来解释一下数据分析 数据分析是通过明确分析目的 梳理并确定分析逻辑 针对性的收集 整理
  • Python爬虫入门(一)

    前言 很多人都或多或少听说过 Python 爬虫 我也一直很感兴趣 所以也花了一个下午入门了一下轻量级的爬虫 为啥是轻量级的爬虫呢 因为有的网页是比较复杂的 比如需要验证码 登录验证或者需要证书才能访问 我们了解爬虫的概念和架构 只需要做一
  • Python爬虫 (适合初学者)

    关于爬虫是什么 怎样保证爬虫的合法性小编在这就不再过多的阐述 从本章起 小编将和大家一起分享在学习python爬虫中的所学 希望可以和大家一起进步 也希望各位可以关注一下我 首先我们来初步了解下如何使用开发者工具进行抓包 以 https f