百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

python批量爬取网络图片

off999 2024-12-03 00:10 26 浏览 0 评论

上篇通过python爬取了一篇网络小说,初步了解了爬虫的四步流程,本文稍微扩展一点,试着从网页中爬取出多个图片,具体来看看:

我们今天试着从下面图1的网页上将所有图片都爬取出来,放在一个指定的文件夹里。


还是按爬虫4流程:发出请求——获得网页——解析内容——保存内容

1、发出请求

1)找到网页地址:

在网页上右键单击“审查元素”,弹窗里选中Network面板,从左侧name列表里逐个选择项目,观察右侧Preview面板下的内容,发现出现下图2中的样式时,就是我们要的第一小步目标。



在图3所示的Headers面板下找到网页地址URL

Request URL:

https://m.gmw.cn/toutiao/2020-02/16/content_123107586.htm?tt_group_id=6793905493262729736

2)找到网页中图片地址:

由于网页上的图片都是有单独网址的,与网页的网址不同,所以我们需要在网页代码里找到图片的网址信息。继续查找Preview面板下的网页代码,图4红框内所示即为网页里插图图片的地址,这就是我们爬取图片真正要用的地址

所以,从网页里批量爬取图片,实际步骤是:

发出请求(网页地址)——获得网页——解析内容(得到图片地址)——向图片地址发出请求(循环)——获得网页——解析内容(得到图片)——保存内容

获得图片地址的代码为:

url = 'https://m.gmw.cn/toutiao/2020-02/16/content_123107586.htm?tt_group_id=6793905493262729736'
rep = requests.get(url)# 发出访问请求,获得响应
res = BeautifulSoup(rep.content, 'lxml')# 解析响应,获得网页内容
img_url = res.find_all('p', style="text-align:center;")# 解析网页内容,获得全部图片网址

此时,我们试着检验一下获得的图片地址:

for im in img_url:
        jpgurl = im.find('img')['src']
        print(jpgurl)

结果为图5所示:

2、批量获得网页

在上面的for循环里,向图片地址发生请求:

for im in img_url:
    jpgurl = im.find('img')['src']
    r = requests.get(jpgurl)

3、解析获得图片

由于图片地址里没有其他内容,只有图片,解析很简单:直接取r.content就能得到图片。

for im in img_url:
	......	
	r = requests.get(jpgurl)
	jpg = r.content

4、保存图片

for im in img_url:
	......	
	jpg = r.content    
	nam = jpgurl[-23:]# 从图片网址里提取最后23个字符,当图片名称,也可以自己定义,不要重复即可
	f = open(set_path() + nam, 'wb')# 从set_path()函数返回一个文件夹路径,与图片名称组合成文件的保存地址
	f.write(jpg)# 将图片写入文件

set_path()函数返回一个预设保存文件的文件夹,如果预设的文件夹不存在,就自动创建。

def set_path():
    path = r'e:/python/jpg'
    if not os.path.isdir(path):
        os.makedirs(path)
    paths = path+'/'
    return(paths)

运行后打开对应文件夹,图片已经完成下载,如图6:


至此,批量爬取网页图片就完成了。

总结:

本文的爬取过程,比常说的爬虫4步骤多了好几步,其实,本质上还是万变不离其宗的4步流程。本例只不过是相当于把两套爬取流程进行了嵌套,少了一次保存内容的过程而已。关键是通过爬取获得网址后,再次爬取新网址里的内容,真正的爬取大多是通过这种嵌套实现的。

相关推荐

海马苹果助手官方下载(海马苹果助手官方正版)

除了官方版,苹果其他服务器互通吧好像,只是不能换服务器登录你好;根据你的提示,可能是你的手机系统不正常蚂蚁浏览器,你可以现在一个手机QQ浏览器,它的体积小,功能强大,还特别的节省流量,它使用自主研发的...

wifi恢复出厂设置后上不了网

恢复出厂设置后,路由器的网络设置也被清空了,需要重新设置账号和密码等信息并配置网络。还需要确认路由器的网线连接是否正确,以及是否有其他网络设备干扰。 如果重新配置还是连不上网不能用,可能需要...

联想笔记本蓝屏怎么解决(联想笔记本蓝屏怎么解决方法)

回答如下:如果您的联想笔记本电脑出现蓝屏问题,可以尝试以下解决方法:1.重启电脑:尝试简单的重启电脑,看是否可以解决问题。2.检查硬件:检查您的笔记本电脑是否有硬件故障。例如,您可以拔下所有外接设...

微星显卡型号档次梯队(微星显卡大全)

2019年微星新出的显卡主要系列划分:VENTUS(万图师):入门级版本,也有人说是丐版,用料一般。ARMOR(装甲师):中低版本,做工用料主流,比丐版强一点。DUKE(暗黑龙爵):中等版本,做工用料...

腾达扩展器a12设置(腾达扩展器设置方法)

1、检查扩展器的WiFi是否正确无线扩展器连接的是上端的WiFi,然后再转发出新的WiFi。所以,必须要知道正确的上端WiFi信息,比如WiFi名称和密码。解决方法:用手机连接上端WiFi,登录到这个...

手机文件彻底删除如何恢复(手机里文件删了怎么恢复)
  • 手机文件彻底删除如何恢复(手机里文件删了怎么恢复)
  • 手机文件彻底删除如何恢复(手机里文件删了怎么恢复)
  • 手机文件彻底删除如何恢复(手机里文件删了怎么恢复)
  • 手机文件彻底删除如何恢复(手机里文件删了怎么恢复)
win7 旗舰版32位密钥(win7旗舰版密钥32位激活不了)

可以win7旗舰版32位产品密钥:1、TG664-TJ7YK-2VY3K-4YFY6-BCXF4;2、MVG64-RQDVY-KB9RM-MX9WT-MW824;3、TDTY2-6HJ49-46PCK...

win7下安装ghostxp(win7安装方法ghost)

在win7家庭版电脑中安装虚拟xp系统方法:1.首先安装windows6.1-kb958559-x86-refreshpkg补丁。2.安装完成后,需要重启电脑。3.重启电脑,再安装windowsxpm...

电脑怎么锁屏快捷键(暂时离开电脑怎么锁屏快捷键)

计算机锁屏的快捷键在不同的操作系统上可能会有所不同,但在Windows系统中通常是“Windows键+L”组合键。当您按下这个组合键时,计算机会立即锁定屏幕,需要输入密码才能解锁。这个快捷键可以方便地...

microsoft+teams+meeting怎么加入会议

teams手机点击加入会议没有反应原因和解决方法如下:1.时区不对,把电脑屏幕右下角时区调整好即可进入TeamsPC版。2.会议主办方的问题。3.MicrosoftTeams客户端的大多数问题都...

笔记本怎么设置wifi(笔记本怎么设置wifi密码)

笔记本电脑连接无线网络的具体设置步骤如下:1.打开电脑上的无线网络连接功能。在电脑屏幕下方中央区域找到网络连接图标,通常是两个悬挂的屏幕,点击打开。2.在网络连接列表中找到无线选项。一般无线选项图...

键盘所有按键都没反应(键盘无反应,鼠标正常)

台式机键盘失灵可以按以下四步来解决:1、重新插键盘与主机连接接口。有可能因为接口的接触不良导致的键盘失灵,这时可以对插头进行拔插,注意:如果是USB接口,可以直接插拔,而如果是圆形接头最好关机后再操作...

手机win10主题下载(手机windows11主题)

前面三位的方法都太复杂,还要找用户名什么。下面软件就搞定了,还可以自动提取Win10主题包里的壁纸。网页链接在软件上右键:一键打开主题目录,一键打开壁纸目录如果要提取主题包里的Win10壁纸,只要把主...

手机360助手有用吗

360手机助手是一款Android手机应用市场,由著名的安全软件厂商奇虎360公司开发和维护。它提供了丰富的应用程序下载、游戏下载、主题壁纸等资源,并且具备一定的应用管理和手机优化功能。360手机助手...

电脑主机频繁启动但启动不了

这个情况有可能是内存条换了,我上次就是这个情况,不知道怎么把内存条给烧了,然后它一給它插上电源就反复重启,刚一打开就自己又关上了反反复复。还有一次是因为这个电脑主机的电源插座的线换了,那个插头的口给烧...

取消回复欢迎 发表评论: