使用Python做爬虫其实很简单,这里使用一个小案例来详细介绍Python爬虫的用法,借助Python工具爬取王者荣耀英雄人物头像图片,Python爬虫爬取网页图片可以分为四步:明确目的、发送请求、数据解析、保存数据,具体步骤如下,下面一起学习。
示例工具:anconda3.7
本文讲解内容:Python爬取图片
适用范围:网页解析、图片爬取
1. 明确目的
打开王者荣耀英雄介绍主页,该主页包含很多种英雄的头像图片,主页网址链接如下。添加链接描述
2. 发送请求
使用requests库发送请求,返回状态码显示为200,服务器连接正常。
import requests
u='https://pvp.qq.com/web201605/herolist.shtml'
response=requests.get(u)
print('状态码:{}'.format(response.status_code))
if response.status_code != 200:
pass else: print("服务器连接正常")<img src="https://pica.zhimg.com/v2-90c9e2103fcb9dd494c25a0e834976b4_b.jpg" data-caption="" data-size="normal" data-rawwidth="196" data-rawheight="64" data-original-token="v2-90c9e2103fcb9dd494c25a0e834976b4" class="content_image" width="196"/>
3. 数据解析
在数据解析之前,需要提前安装pyquery,pyquery库类似于Beautiful Soup库,初始化的时候,需要传入HTML文本来初始化一个PyQuery对象,它的初始化方式包括直接传入字符串,传入URL,传入文件名等等,这里传入URL,并且查找节点。
#解析数据
from pyquery import PyQuery
doc=PyQuery(html)
items=doc('.herolist>li')#.items()
print(items)
同时遍历,使用find函数查找子节点,遍历爬取图片URL和图片名。
for item in items:
url=item.find('img').attr('src')
#print(url)
urls='http:'+url
name=item.find('a').text()
#print(name)
url_content=requests.get(urls).content
4. 保存数据
最后保存数据,需要提前新建一个文件夹用于数据存储,同时,存储数据的代码需要写在for循环里面,不然只会保存一张图片。
with open('C:/Users/尚天强/Desktop/王者荣耀picture/'+name+'.jpg','wb') as file:
file.write(url_content)
print("正在下载%s......%s"%(name,urls))
同时加一个计时器,用于计时图片爬取的时长,这里显示图片爬取共计耗时7.03秒。
import time
start=time.time()
…
end=time.time()
print('图片爬取共计耗时{:.2f}秒'.format(end-start))
爬取过程动态演示如下,运行过程很快。
以上我们成功将王者荣耀的英雄人物头像爬取下来,代码文件中有高清头像。
将代码进行封装,完整版代码如下,如果你也感兴趣的话可以自己实际运行试一试,爬取生成结果。
import time
start=time.time()
import requests
from pyquery import PyQuery
#确定目标
url="https://pvp.qq.com/web201605/herolist.shtml"
#发送请求
html=requests.get(url).content
#print(html)
#解析数据
doc=PyQuery(html)
items=doc('.herolist>li').items()
#print(items)
for item in items:
url=item.find('img').attr('src')
#print(url)
urls='http:'+url
name=item.find('a').text()
#print(name)
url_content=requests.get(urls).content
#保存数据
with open('C:/Users/尚天强/Desktop/王者荣耀picture/'+name+'.jpg','wb') as file:
file.write(url_content)
print("正在下载%s......%s"%(name,urls))
print("下载完毕")
end=time.time()
print('图片爬取共计耗时{:.2f}秒'.format(end-start))
总结一下,使用Python爬取数据一共分为四步:明确目的、发送请求、数据解析、保存数据,熟练掌握以上四个步骤,即可从网页爬取数据,数据形式不限于文本、数字、图片等,如果你也感兴趣爬虫知识,想更深层次地学习Python数据分析,不妨自己上手试试。
最后:
Python学习资料
如果你想学习Python帮助你实现自动化办公,或者准备学习Python或者正在学习,下面这些你应该能用得上,有需要可以领取。
① Python所有方向的学习路线图,清楚各个方向要学什么东西
② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析
③ 100多个Python实战案例,学习不再是只会理论
④ 华为出品独家Python漫画教程,手机也能学习
⑤历年互联网企业Python面试真题,复习时非常方便
文末有领取方式哦
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python课程视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
三、Python实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
四、Python漫画教程
用通俗易懂的漫画,来教你学习Python,让你更容易记住,并且不会枯燥乏味。
五、互联网企业面试真题
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要也可以扫描下方csdn官方二维码或者点击主页和文章下方的微信卡片获取领取方式,【保证100%免费】
今天的文章用python爬虫爬取图片的步骤_python爬虫爬取图片代码[通俗易懂]分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/79704.html