首页 > 名字 > 游戏名字 正文
‘百度识图怎么用’百度识图怎么用不了相册

时间:2023-08-14 作者:佚名


大家好,我是润森

什么是爬虫

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

爬虫协议

Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。

robo文件是一个文本文件,使用任何一个常见的文本编辑器,比如Windows系统自带的Notepad,就可以创建和编辑它。robo是一个协议,而不是一个命令。robo是搜索引擎中访问网站的时候要查看的第一个文件。robo文件告诉蜘蛛程序在服务器上什么文件是可以被查看的。(来源: 百度百科)

爬虫百度图片

目标:爬取百度的图片,并保存电脑中

  • 能不能爬?

首先数据是否公开?能不能下载?

从图中可以看出,百度的图片是完全可以下载,说明了图片可以爬取

  • 先爬取一张图片

首先,明白图片是什么?

有形式的事物,我们看到的,是图画、照片、拓片等的统称。图是技术制图中的基础术语,指用点、线、符号、文字和数字等描绘事物几何特征、形态、位置及大小的一种形式。随着数字采集技术和信号处理理论的发展,越来越多的图片以数字形式存储。

然后需要图片在哪里?

图片是在云服务器的数据库中的保存起来的

每张图片都有对应的url,通过requests模块来发起请求,在用文件的wb+方式来保存起来

import requests r = reque(';) with open('demo.jpg','wb+') as f: f.write)
  • 批量爬取

但是有谁为了爬一张图片去写代码,还不如直接去下载 。爬虫是目的就是为了达到批量下载的目的,这才是真正的爬虫

  • 网站的分析

首先了解json

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。

json 就是js 的对象,就是来存取数据的东西

JSON字符串

{ “name”: “毛利”, “age”: 18, “ feature “ : [‘高’, ‘富’, ‘帅’] }

python字典

{ ‘name’: ‘毛利’, ‘age’: 18 ‘feature’ : [‘高’, ‘富’, ‘帅’] }

但是在python中不可以直接通过键值对来取得值,所以不得不谈谈python中的字典

导入python 中json,通过j(s) -->将json数据转换为python的数据(字典)

ajax 的使用

Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。

图片是通过ajax 方法来加载的,也就是当我下拉,图片会自动加载,是因为网站自动发起了请求,

分析图片url链接的位置

同时找到对应ajax的请求的url

构造ajax的url请求,来将json转化为字典,在通过字典的键值对来取值,得到图片对应的url

import requests import json headers = { 'User-Agent':'Mozilla (Windows NT 10.0; Win64; x64) AppleWebKi (KHTML, like Gecko) Chrome Safari;} r = reque('https://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&ct=201326592&is=&fp=result&queryWord=%E5%9B%BE%E7%89%87&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=-1&z=&ic=0&hd=&latest=©right=&word=%E5%9B%BE%E7%89%87&s=&se=&tab=&width=&height=&face=0&istype=2&qc=&nc=1&fr=&expermode=&force=&pn=30&rn=30&gsm=1e&90=',headers = headers).text res = j(r)['data'] for index,i in enumerate(res): url = i['hoverURL'] print(url) with open( '{}.jpg'.format(index),'wb+') as f: f.write(reque(url).content)

  • 构造json的url,不断的爬取图片

在一个json 的有30张图片,所以发起一个json的请求,我们可以爬去30张图片,但是还是不够。

首先分析不同的json中发起的请求

https://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&ct=201326592&is=&fp=result&queryWord=%E5%9B%BE%E7%89%87&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=-1&z=&ic=0&hd=&latest=©right=&word=%E5%9B%BE%E7%89%87&s=&se=&tab=&width=&height=&face=0&istype=2&qc=&nc=1&fr=&expermode=&force=&pn=60&rn=30&gsm=3c&55= https://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&ct=201326592&is=&fp=result&queryWord=%E5%9B%BE%E7%89%87&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=-1&z=&ic=0&hd=&latest=©right=&word=%E5%9B%BE%E7%89%87&s=&se=&tab=&width=&height=&face=0&istype=2&qc=&nc=1&fr=&expermode=&force=&pn=30&rn=30&gsm=1e&90=

其实可以发现,当再次发起请求时,关键就是那个 pn在不断的变动

最后封装代码,一个列表来定义生产者来存储不断的生成图片url,另一个列表来定义消费者来保存图片

# -*- coding:utf-8 -*- # time :2019/6/20 17:07 # author: 毛利 import requests import json import os def get_pic_url(num): pic_url= [] headers = { 'User-Agent': 'Mozilla (Windows NT 10.0; Win64; x64) AppleWebKi (KHTML, like Gecko) Chrome Safari;} for i in range(num): page_url = 'https://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&ct=201326592&is=&fp=result&queryWord=%E5%9B%BE%E7%89%87&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=-1&z=&ic=0&hd=&latest=©right=&word=%E5%9B%BE%E7%89%87&s=&se=&tab=&width=&height=&face=0&istype=2&qc=&nc=1&fr=&expermode=&force=&pn={}&rn=30&gsm=1e&90='.format(30*i) r = reque(page_url, headers=headers).text res = j(r)['data'] if res: print(res) for j in res: try: url = j['hoverURL'] (url) except: print('该图片的url不存在') print(len(pic_url)) return pic_url def down_img(num): pic_url =get_pic_url(num) if os.('D:\图片'): pass else: os.makedirs('D:\图片') path = 'D:\图片\\' for index,i in enumerate(pic_url): filename = path + str(index) + '.jpg' print(filename) with open(filename, 'wb+') as f: f.write(reque(i).content) if __name__ == '__main__': num = int(input('爬取几次图片:一次30张')) down_img(num)

本文信息为网友自行发布旨在分享与大家阅读学习,文中的观点和立场与本站无关,如对文中内容有异议请联系处理。

本文链接:https://www.paituo.cc/ming/yx/1163529.html

  • 小编推荐

    “百度识图怎么用“智能识图在线使用

    百度识图怎么用,智能识图在线使用,手机百度识图怎么用相关介绍,6月12日晚,vivo NEX在上海正式发布,这款手机除了具备升降式前置摄像头,三面屏无边框等亮点功能外,还通过与百度识图的技术深度合作,在相机及相册等拍照入口提供了AI图像识别能力,用户可以通过手机

    百度识图怎么用、百度识图怎么用不了…

    百度识图怎么用,百度识图怎么用不了,手机百度识图怎么用相关介绍,不要问黑哥假期结束这么久了,为啥还不恢复更新? 我不会告诉你我在高速上被堵了一天一夜的,活活一天一夜,黑哥能活着回来已经是造化钟神秀了。 你们知道堵车最耗的是啥吗?不是精力,不是油,妥妥的分明是流量啊

    「百度识图怎么用」百度识图怎么用不了

    百度识图怎么用,百度识图怎么用不了,手机百度识图怎么用相关介绍,近些年,随着各种图片版权官司的打响,图片版权问题也越来越受到重视。 前不久,百度上线了版权图片开放合作平台,联合拍信等图片版权内容服务商共建内容版权生态,包括百度图片搜索,百度像素,百度网盘等众多产品

    海腹川背,海腹川背fresh

    海腹川背,海腹川背fresh,海腹川背什么意思相关介绍,世嘉宣布,25年前的经典动作游戏新篇《海腹川背Fresh!》将于4月25日登陆Switch平台,同时还有游戏演示公布。 《海腹川背Fresh!》主角海腹川背将手持一根带鱼钩的如意绳索冒险,这个如意绳可

    “中国蓝直播“中国蓝直播间…

    中国蓝直播,中国蓝直播间,中国蓝直播丫丫相关介绍,

    赛车计划、赛车计划go破解版下载

    赛车计划,赛车计划go破解版下载,赛车计划3下载手游版相关介绍,《赛车计划3(Project Cars 3)》是Slightly Mad Studios旗下《赛车计划》系列最新作品,游戏现正在开发中,目前鲜有消息传出。近日Slightly Mad Studios的

    传奇霸主官网,4399传奇霸主官网?

    传奇霸主官网,4399传奇霸主官网,9377传奇霸主官网相关介绍,盼星星,盼月亮!在前期各方的辛苦努力之下,今天上午11:00传奇霸主终于要开服啦!那么就有玩家问了,前期新手应该怎么玩呢?接下来小编就给大家细细道来。 攻略转自功重号 欣儿说传奇 一、职业选择 职业选

    66yingshi

    66yingshi相关介绍,