铜陵电子商务网站建设,辽宁营口建设工程信息网站,诸城哪有做公司网站的,wordpress tag 别名爬取百度图片并显示 引言一、图片显示二、代码详解2.1 得到网页内容2.2 提取图片url2.3 图片显示 三、完整代码 引言
爬虫#xff08;Spider#xff09;#xff0c;又称网络爬虫#xff08;Web Crawler#xff09;#xff0c;是一种自动化程序#xff0c;可以自动地浏览… 爬取百度图片并显示 引言一、图片显示二、代码详解2.1 得到网页内容2.2 提取图片url2.3 图片显示 三、完整代码 引言
爬虫Spider又称网络爬虫Web Crawler是一种自动化程序可以自动地浏览互联网上的网站并从中抓取数据。它主要通过 HTTP / HTTPS 协议访问网页并将访问到的网页内容进行解析和分析从而提取有用的数据例如新闻、评论、图片、视频等。爬虫在搜索引擎、大数据采集、信息监测和分析等领域都有广泛的应用。
Pyhon有很多库可以实现爬虫功能如Python中的requests库是一个第三方HTTP客户端库它提供了一种更简单、更人性化的方式来发送HTTP/1.1请求。它允许我们发送HTTP/1.1请求以及各种HTTP方法如GET、POST、PUT、DELETE、PATCH等。使用requests库我们可以轻松地向外部API发送HTTP请求并获取请求的响应。requests库提供了很多高级功能比如会话管理、SSL证书验证、HTTP代理支持、文件上传等等。
一、图片显示 本文旨在介绍使用Python中的requests库爬取百度图片并显示的操作方法。该操作较为简单适合初学者入门。 使用pip可以很容易地安装requests库pip install requests
二、代码详解
需要导入的库
import requests
from PIL import Image
from io import BytesIOrequests库用于获取网络数据PIL库用于处理图像数据BytesIO用于将二进制数据转换为图像数据。
2.1 得到网页内容
主要步骤
设定好headers防止网页拒绝被访问
headers {user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3861.400 QQBrowser/10.7.4313.400}在url中设定好queryWord和word即百度图片查询的关键词本文以tupian为例 (亦可设置为汉子)
url (https://image.baidu.com/search/acjson?tnresultjson_comlogid9047316633247341826ipnrjct201326592isfpresultqueryWordtupiancl2lm-1ieutf-8oeutf-8adpicidstzichdlatestcopyrightwordtupianssetabwidthheightfaceistypeqcnc1frexpermodeforcepn30rn30gsm1e1616935040863)使用requests或其它库获取网页内容即可这里使用requests库发送GET请求并传递请求头和参数获取响应的网页数据。
import requests
response requests.get(urlurl, headersheaders)
response.encoding utf-82.2 提取图片url
根据网页图片链接格式提取图片的链接网页内容中的图片链接以thumbURL开始 使用正则表达式提取 可参考正则表达式详解 import re
imgs []
reg re.compile(thumbURL:(.?\.jpg))
imgs.extend(reg.findall(response))
print(imgs)2.3 图片显示
获取图片链接里的内容并显示 获取到的img是二进制字符先试用BytesIO读取后显示
img requests.get(urlimgs[0], headersheaders).content
from PIL import Image
from io import BytesIO
bytes_stream BytesIO(img)
img Image.open(bytes_stream)
img.show()至此成功地使用requests库爬取了百度图片并将其显示出来。需要注意的是此处仅为简单的入门示例对于复杂的网站爬取和数据解析需要使用更为专业的工具和技术。
三、完整代码
# 1.得到网页内容
headers {user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3861.400 QQBrowser/10.7.4313.400}
url (https://image.baidu.com/search/acjson?tnresultjson_comlogid9047316633247341826ipnrjct201326592isfpresultqueryWordtupiancl2lm-1ieutf-8oeutf-8adpicidstzichdlatestcopyrightwordtupianssetabwidthheightfaceistypeqcnc1frexpermodeforcepn30rn30gsm1e1616935040863)
import requests
response requests.get(urlurl, headersheaders)
response.encoding utf-8
response response.text
#print(response)# 2.提取图片url
import re
imgs []
reg re.compile(thumbURL:(.?\.jpg))
imgs.extend(reg.findall(response))
print(imgs)# 3.显示图片
img requests.get(urlimgs[0], headersheaders).content
from PIL import Image
from io import BytesIO
bytes_stream BytesIO(img)
img Image.open(bytes_stream)
img.show()