Python爬取某网站高清大图

Python爬取某网站高清大图

前言

最近因为疫情原因天天在家用电脑上网课,这电脑壁纸看得我头疼,于是就想下一些壁纸来让电脑定时更换,自己也放松放松眼睛。但是从壁纸网站手动下载图片实在太费劲,点来点去十分麻烦,有同学问我为什么不用壁纸软件,我觉得某些壁纸软件太鸡肋了,占空间不说,还时不时给我推荐一些什么“一刀999”的东西,烦死人了。于是就想用python编写一个脚本自动爬取图片

分析过程

这里我选取必应壁纸网站https://bing.ioliu.cn/?这网站比较简单,每一页有12张图片,而且每一页的链接差别较小https://bing.ioliu.cn/?p=i,这里i是页数,也就是大于2小于…的一个整数。

进一步发现每一页每张图片的链接就是标签img的src属性的值,也就是说我们可以把每一页的12个图片链接提取出来,然后设定爬取页数,最后下载
在这里插入图片描述

代码编写
import requests
from bs4 import BeautifulSoup
headers={'Sec-Fetch-Dest': 'script',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}

#获取图片链接
def get_urls():
   imgurls=[]
   for i in range(2,12):
   url="https://bing.ioliu.cn/?p="+str(i)
   try:
      r=requests.get(url,headers=headers)
   except:
      print("error")
   demo=r.text
   soup=BeautifulSoup(demo,'html.parser')
   post=soup.find_all('img')
   for j in range(12):
   imgurls.append(post[j].attrs['src'])
return imgurls

#下载图片
def download(urls):
   for i in range(120):
       req=requests.get(urls[i],headers=headers)
       with open('壁纸'+str(i)+'.jpg','wb') as f:
           f.write(req.content)


imgurls=get_urls()
download(imgurls)

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值