怎样利用 python 学习爬虫?

使用Python做爬虫其实很简单,这里使用一个小案例来详细介绍Python爬虫的用法,借助Python工具爬取王者荣耀英雄人物头像图片,Python爬虫爬取网页图片可以分为四步:明确目的、发送请求、数据解析、保存数据,具体步骤如下,下面一起学习。

示例工具:anconda3.7
本文讲解内容:Python爬取图片
适用范围:网页解析、图片爬取

01. 明确目的

打开王者荣耀英雄介绍主页,该主页包含很多种英雄的头像图片,主页网址链接如下。

https://pvp.qq.com/web201605/herolist.shtml

02. 发送请求

使用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("服务器连接正常")

03. 数据解析

在数据解析之前,需要提前安装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

04. 保存数据

最后保存数据,需要提前新建一个文件夹用于数据存储,同时,存储数据的代码需要写在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 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

二、Python必备开发工具

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、Python练习题

检查学习结果。

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员二飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值