当前位置: 首页>后端>正文

python爬虫项目教程微课版黄锐军答案 python爬虫课件

目录

一、网络爬虫是什么?

二、网站分析

1.进行网站分析:

2.分析完毕,开始反推

三、代码分析

1.引入库

2.网页源码

四、运行结果

五、总结


一、网络爬虫是什么?

  • 网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫

二、网站分析

  • 网站网址:   https://www.ypppt.com/moban/

1.进行网站分析:

python爬虫项目教程微课版黄锐军答案 python爬虫课件,python爬虫项目教程微课版黄锐军答案 python爬虫课件_python,第1张

(1)点击下载,可以看到这样一个界面

python爬虫项目教程微课版黄锐军答案 python爬虫课件,python爬虫项目教程微课版黄锐军答案 python爬虫课件_正则_02,第2张

(2)有下载地址1和下载地址2,那么怎么获取这个下载地址的链接呢?我们单击鼠标右键,选择检查,获取到网页源代码,得到下载地址的链接:

python爬虫项目教程微课版黄锐军答案 python爬虫课件,python爬虫项目教程微课版黄锐军答案 python爬虫课件_下载地址_03,第3张

2.分析完毕,开始反推

(1)要想得到这个下载的,我们需要获取这个网页的URL地址,也就是之前图片里面标注的数字2 的网址

python爬虫项目教程微课版黄锐军答案 python爬虫课件,python爬虫项目教程微课版黄锐军答案 python爬虫课件_python_04,第4张

(2)那么这个网址是怎么来的呢?我们重新再选择一个PPT,获取到这个网页URL,对比一下:我们发现两个不同PPT下载地址之间只有aid不同,也就是说,只要获取到不同的aid参数,就可以获取到不同PPT的下载地址。

python爬虫项目教程微课版黄锐军答案 python爬虫课件,python爬虫项目教程微课版黄锐军答案 python爬虫课件_python_05,第5张

 (3)那么aid去哪里获得?我们又返回列表页面,获取网页源码

python爬虫项目教程微课版黄锐军答案 python爬虫课件,python爬虫项目教程微课版黄锐军答案 python爬虫课件_下载地址_06,第6张

python爬虫项目教程微课版黄锐军答案 python爬虫课件,python爬虫项目教程微课版黄锐军答案 python爬虫课件_下载地址_07,第7张

 (4)注意,我们搜索出来很多aid,这个aid的地址在图片里标注的地方。

python爬虫项目教程微课版黄锐军答案 python爬虫课件,python爬虫项目教程微课版黄锐军答案 python爬虫课件_python_08,第8张

  •  总结一下,我们要对上述的URL的地址发送请求,获取网页源代码,再获取里面的aid参数,然后把里面的aid参数传到下图所示的url里面,再去获取这个网页的源代码,再获取它的下载地址,,然后进行保存下载,就完成了。

三、代码分析

1.引入库

import requests #导入数据请求的模块
import re       #正则模块

2.网页源码

代码如下

import requests #导入数据请求的模块
import re       #正则模块

url = "https://www.ypppt.com/moban/"            #网页网址


#因为有些网页它只服务于正常浏览器,不接受爬虫,所以我们要用一个headers字典变量,伪装成正常浏览器在对它发送请求
headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.58"
        }
response = requests.get(url,headers)
response.encoding = 'utf-8'
#print(response.text)     #获取网页源代码的数据

#re.findall('<a href="/article/2020/6737.html" class="p-title" target="_blank">学术答辩开题报告PPT模板</a>')
ppt_info = re.findall('<a href="(.*?)" class="p-title" target="_blank">(.*?)</a>',response.text)
#print(ppt_info)        #获取到PPT的URL,以及PPT的名字

for index,title in ppt_info:
        ppt_id = index.split('/')[-1][:-5]             #用'/'分割字符串,只获取对应的aid数据
        index_url = f'https://www.ypppt.com/p/d.php?aid={ppt_id}'       #把aid传入url
        response_1 = requests.get(index_url,headers)    #获取请求的这个网址的数据内容

        download_url = re.findall('<li><a href="(.*?)">下载地址1</a></li>',response_1.text)[0]
        ppt_content = requests.get(download_url,headers).content
        #保存数据 图片 音频 视频 特定格式文件内容都是以二进制方式保存
        #注意,这里的”PPT素材“是一个已经存在的文件夹
        with open('PPT素材\' + title + '.zip',mode = 'wb') as f:
                f.write(ppt_content)

        # (response_1.text)
        print(title,ppt_id)
        # break

四、运行结果

python爬虫项目教程微课版黄锐军答案 python爬虫课件,python爬虫项目教程微课版黄锐军答案 python爬虫课件_python_09,第9张

python爬虫项目教程微课版黄锐军答案 python爬虫课件,python爬虫项目教程微课版黄锐军答案 python爬虫课件_数据_10,第10张

五、总结

  •  以上就是今天要讲的内容,本文仅仅简单介绍了如何使用Python爬虫网站的PPT模板,而requests提供了大量能使我们快速便捷地处理数据的函数和方法。

https://www.xamrdz.com/backend/3pt1963531.html

相关文章: