工具准备

开发工具:pycharm
开发环境:python3.7, Windows11
使用工具包:requests

项目思路解析

做爬虫案例首先需要明确自己的采集目标,白又白这里采集的是当前网页的所有图片信息,有目标后梳理自己的代码编写流程,爬虫的基本四步骤:

  • 第一步:获取到网页资源地址
  • 第二步:对地址发送网络请求
  • 第三步:提取对应数据信息
    • 提取数据的方式一般有正则、xpath、bs4、jsonpath、css选择器
  • 第四步:保存数据信息

第一步:找数据地址

数据的加载方式一般有两种,一种静态一种动态,当前网页的数据在往下刷新时不断的加载数据,可以判断出数据加载的方式为动态的,动态数据需要通过浏览器的抓包工具获取,鼠标右击点击检查,或者按f12的快捷方式,找到加载的数据地址

找到对应数据地址,点击弹出的接口后可以点击预览,预览打开的页面是展示给我们的数据,在数据多的时候通过他来进行查看,获取的数据是通过网址获取的,网址数据在请求里,对网址发送网络请求

第二步:代码发送网络请求

发送请求的工具包会非常多,入门阶段更多的是使用requests工具包,requests是第三方工具包,需要进行下载:pip install requests 发送请求时需要注意我们通过代码请求,web服务器会根据http请求报文来进行区分是浏览器还是爬虫,爬虫不受欢迎的,爬虫代码需要对自己进行伪装,发送请求时带上headers传输的数据类型为字典键值对,ua字段是非常重要的浏览器的身份证

第三步:提取数据

当前获取的数据为动态数据,动态数据动态数据一般都是json数据,json数据可以通过jsonpath直接提取,也可以直接转换成字典,通过Python提取最终的目的是提取到图片的url地址

提取出新的地址后需要再次对网址发送请求,我们需要的是图片数据,链接一般是保存在数据中,发送请求获取图片对应的进制数据

第四步: 保存数据

数据获取到之后将数据进行储存,选择自己数据储存的位置,选择写入方式,我们获取的数据是进制数据,文件访问模式用的wb,将获取到的图片进入数据写入就行,文件的后缀需要是图片结尾的后缀,可以选择用标题命名,白又白使用网址后部分进行命名。

简易源码分享

import requests  # 导入请求的工具包
import re  # 正则匹配工具包# 添加请求头
headers = {# 用户代理"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36",# 请求数据来源# "Referer": "https://tupian.baidu.com/search/index",# "Host": "tupian.baidu.com"
}key = input("请输入要下载的图片:")
# 保存图片的地址
path = r"图片/"
# 请求数据接口
for i in range(5, 50):url = "https://image.baidu.com/search/acjson?tn=resultjson_com&logid=12114112735054631287&ipn=rj&ct=201326592&is=&fp=result&fr=&word=%E7%8C%AB%E5%92%AA&queryWord=%E7%8C%AB%E5%92%AA&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=-1&z=&ic=&hd=&latest=&copyright=&s=&se=&tab=&width=&height=&face=0&istype=2&qc=&nc=1&expermode=&nojc=&isAsync=&pn=120&rn=30&gsm=78&1635836468641="# 发送请求response = requests.get(url, headers=headers)print(response.text)# 正则匹配数据url_list = re.findall('"thumbURL":"(.*?)",', response.text)print(url_list)# 循环取出图片url 和 namefor new_url in url_list:# 再次对图片发送请求result = requests.get(new_url).content# 分割网址获取图片名字name = new_url.split("/")[-1]print(name)# 写入文件with open(path + name, "wb")as f:f.write(result)

全部源码可以私信我哦~

什么猫咪最受欢迎?Python爬取全网猫咪图片,哪一款是你最爱的相关推荐

  1. python爬取图片-Python爬取网页中的图片(搜狗图片)详解

    前言 最近几天,研究了一下一直很好奇的爬虫算法.这里写一下最近几天的点点心得.下面进入正文: 你可能需要的工作环境: Python 3.6官网下载 本地下载 我们这里以sogou作为爬取的对象. 首先 ...

  2. Python 爬取陈都灵百度图片

    Python 爬取陈都灵百度图片 标签(空格分隔): 随笔 今天意外发现了自己以前写的一篇爬虫脚本,爬取的是我的女神陈都灵,尝试运行了一下发现居然还能用.故把脚本贴出来分享一下. import req ...

  3. 用Python爬取彼岸图网图片

     用Python爬取彼岸图网图片 *使用了  四个模块 import time import requests from lxml import etree import os 没有的话自行百度安装. ...

  4. python如何爬取网页视频_快就完事了!10分钟用python爬取网站视频和图片

    原标题:快就完事了!10分钟用python爬取网站视频和图片 话不多说,直接开讲!教你如何用Python爬虫爬取各大网站视频和图片. 638855753 网站分析: 我们点视频按钮,可以看到的链接是: ...

  5. Python爬取国家地理杂志的图片

    一.简介:Python爬取国家地理杂志的图片 二.代码展示 from bs4 import BeautifulSoup import requests import osos.mkdir('./img ...

  6. Python爬取 | 唯美女生图片

    这里只是代码展示,且复制后不能直接运行,需要配置一些设置才行,具体请查看下方链接介绍: Python爬取 | 唯美女生图片 from selenium import webdriver from fa ...

  7. 利用python爬取qq个性网图片

    利用python爬取qq个性网图片 网站头像布局大同小异,稍改代码即可爬取想要的头像. 不多bb,上代码. import requests from parsel import Selector im ...

  8. python爬取帖吧图片实验报告,Python爬取百度贴吧图片

    原标题:Python爬取百度贴吧图片 作者:MTbaby 来源:http://blog.csdn.net/mtbaby/article/details/70209729 描述:用Python爬去百度贴 ...

  9. python爬取街拍美女图片

    python爬取街拍美女图片 完整代码: import requests from urllib.parse import urlencode import os from hashlib impor ...

最新文章

  1. 基于SSD的自动路径规划算法
  2. 终于有人把SaaS讲明白了
  3. VB讲课笔记12:文件管理
  4. Cesium官方教程6--相机
  5. jsoup爬虫工具超简单使用(记录)
  6. 网站并发300就很慢
  7. 细数继承与派生(纯干货推荐)1.0
  8. 防火墙基本应用(华为USG6000V)
  9. MySQL数据库 实验报告(一)
  10. word自定义目录格式时设置的标题格式不生效
  11. 电路交换 报文交换 分组交换的区别
  12. video-js rtmp直播、this .el_vjs_getproperty问题、多个rtmp播放、可用rtmp地址
  13. python绘制社会关系网络图_python画社交网络图
  14. 私活必备11个免费后台管理系统模板
  15. Vue · 导航守卫:beforeRouteEnter、beforeRouteUpdate、beforeRouteLeave
  16. 阿里云CDN防盗链设置方法
  17. linux 下进入root
  18. 企业邮箱大全,企业邮箱查询,最大的邮箱是哪个?
  19. 旅游攻略应该怎么做,你做对了吗?
  20. kali linux安装upupoo_Kali Linux 下载、引导、安装

热门文章

  1. 你想要的宏基因组-微生物组知识全在这
  2. Nat. Biotechnol.扩增子测序革命—用16S及18S rRNA全长进行微生物多样性研究
  3. R语言ggplot2可视化可视化聚类图、使用geom_encircle函数绘制多边形标定属于同一聚类簇的数据点、并自定义每个聚类簇数据点的颜色、多边形框的颜色(Cluster Plot)、主副标题题注
  4. Python使用matplotlib可视化多个时间序列数据、在同一个可视化图像中可视化多个时间序列数据(Multiple Time Series)
  5. R语言函数:length计算长度、seq生成数据序列、rep将数据对象重复N遍复制、cut将连续变量分割为多水平的因子变量、pretty将连续变量x分成n个区间创建合适的断点、cat数据对象拼接
  6. python包NiBabel对医学影像文件格式进行读写:python包NiBabel简介集示例
  7. R语言ggplot2可视化使用ggplot2包patchwork包在可视化结果(右上角)中插入logo图片
  8. R语言可视化包ggplot2包改变边距(margin)实战(Modify the Margins)
  9. python使用正则表达式统计字符串中出现次数最多的数字
  10. java SE环境变量配置