https://image.baidu.com/
开发环境
-
系统:Windows10 64位
-
Python版本:Python3.6.5(Python3以上版本即可)
-
IDE:Pycharm(非必须,其实你完全可以记事本写代码)
-
第三方库:requests、jsonpath
效果预览
代码爬取效果
正式教程
一、第三方库安装
在确保你正确安装了Python解释器之后,我们还需要安装几个第三方库,命令如下**[在终端中安装即可]**:
HTTP请求库:
pip3 install requests
JSON数据解析库:
pip3 install jsonpath
二、爬虫的基本套路
- 不管是爬取哪类网站,在爬虫中基本都遵循以下的基本套路:
请求数据 → 获取响应内容 → 解析内容 → 保存数据
- 当然,以上步骤是代码的编写思路,实际操作中应该还要添加一个前置步骤,所以完整流程如下:
分析目标站点 → 请求网站获取数据 → 解析内容 → 保存数据
- 分析目标站点
快速的分析目标站点就很容易发现百度图库的图片资源是通过AJAX加载的,所以我们要请求的链接并非浏览器地址栏链接,而是ajax加载的数据包的资源路径,如图:
那么问题来了,如何获取到这些数据包的地址?其实很简单,如图所示:
- 请求网站获取数据
编写代码请求资源,这里有一点需要注意:请求头必须携带,否则有可能请求失败导致报错。
import requests # 导包
构建请求头,把爬虫程序伪装成正常的浏览器用户
headers = {
‘sec-fetch-dest’: ‘image’,
‘Host’: ‘image.baidu.com’,
‘User-Agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36 Edg/89.0.774.50’,
}
资源包的url链接
url = ‘https://image.baidu.com/search/acjson?tn=resultjson_com&logid=10913526997707526921&ipn=rj&ct=201326592&is=&fp=result&queryWord=%E5%B0%8F%E5%A7%90%E5%A7%90%E7%A7%81%E6%88%BF%E7%85%A7&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=-1&z=&ic=&hd=&latest=©right=&word=%E5%B0%8F%E5%A7%90%E5%A7%90%E7%A7%81%E6%88%BF%E7%85%A7&s=&se=&tab=&width=&height=&face=0&istype=2&qc=&nc=1&fr=&expermode=&force=&pn=210&rn=30&gsm=d2&1616553658252=’
构建请求
response = requests.get(url,headers=headers)
查看状态码
print(response.status_code)
获取原始数据
response.json()
- 解析数据
上述代码最终获取到的数据是json数据,也就是我们Python中常说的字典,它长这样:
{
“queryEnc”:“%D0%A1%BD%E3%BD%E3%CB%BD%B7%BF%D5%D5”,
“queryExt”:“小姐姐私房照”,
“listNum”:758,
“displayNum”:8392,
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)
7243c1008edf79.png)
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)