当前位置:   article > 正文

超适合初学者的Python爬虫入门教程

超适合初学者的Python爬虫入门教程

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

首先我们来初步了解下如何使用开发者工具进行抓包

在网页界面右键点击检查,或使用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
  • 1

在这里插入图片描述

2、导入requests包并确定url

import requests
url = 'https://fanyi.baidu.com/sug'
  • 1
  • 2

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'
    }
  • 1
  • 2
  • 3

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

在这里插入图片描述

只需在数据包的标头中,拉到最下面,即可以找到这个User-Agent,将其复制下来,像小编一样在python用字典进行封装即可。

4、确定参数,并对数据接口发起请求获得返回结果

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

结果如下:

在这里插入图片描述

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

import requests

def 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)  #调用自定义函数spider

if __name__ == '__main__':

    main()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

结果如下:

在这里插入图片描述

这样一个简单的基于爬虫的单词查询器就完成啦!其中对json数据进行提取的代码如果有看不懂的小伙伴可以去学习一个python的字典。

在这里插入图片描述

以上就是今天的全部内容分享,觉得有用的话欢迎点赞收藏哦!

Python经验分享

学好 Python 不论是用于就业还是做副业赚钱都不错,而且学好Python还能契合未来发展趋势——人工智能、机器学习、深度学习等。
小编是一名Python开发工程师,自己整理了一套最新的Python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。如果你也喜欢编程,想通过学习Python转行、做副业或者提升工作效率,这份【最新全套Python学习资料】 一定对你有用!

小编为对Python感兴趣的小伙伴准备了以下籽料 !

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑培训的!

  • 学习时间相对较短,学习内容更全面更集中
  • 可以找到适合自己的学习方案

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、Python量化交易等学习教程。带你从零基础系统性的学好Python!

一、Python所有方向的学习路线

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

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

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

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


最新全套【Python入门到进阶资料 & 实战源码 &安装工具】(安全链接,放心点击)

我已经上传至CSDN官方,如果需要可以扫描下方官方二维码免费获取【保证100%免费】

*今天的分享就到这里,喜欢且对你有所帮助的话,记得点赞关注哦~下回见 !

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号