先看看结果吧,去bilibili上拿到的图片=-=
第一步,导入模块
import requests from bs4 import BeautifulSoup
requests用来请求html页面,BeautifulSoup用来解析html
第二步,获取目标html页面
hd = {'user-agent': 'chrome/10'} # 伪装自己是个(chrome)浏览器=-= def download_all_html(): try: url = 'https://www.bilibili.com/' # 将要爬取网站的地址 request = requests.get(url, timeout=30, headers=hd) # 获取改网站的信息 request.raise_for_status() # 判断状态码是否为200,!=200显然爬取失败 request.encoding = request.apparent_encoding # 设置编码格式 return request.text # 返回html页面 except: return ''
第三步,分析网站html构造
1、显示网站html代码
2、找到图片位置
3、分析
第四步,直接上代码注释够详细=-=
def parse_single_html(html): soup = BeautifulSoup(html, 'html.parser') # 解析html,可以单独去了解一下他的使用 divs = soup.find_all('div', class_='card-pic') # 获取满足条件的div,find_all(所有) for div in divs: # 瞒住条件的div有多个,我们单独获取 p = div.find('p') # 有源代码可知,每个div下都有一个p标签,存储图片的title,获取p标签 if p == None: continue title = p['title'] # 获取p标签中的title属性,用来做图片的名称 img = div.find('img')['src'] # 获取图片的地址 if img[0:6] != 'https:': # 根据源代码发现,有的地址缺少"https:"前缀 img = 'https:' + img # 如果缺少,我们给他添上就行啦,都据情况而定 response = requests.get(img) # get方法得到图片地址(有的是post、put)基本是get with open('./Img/{}.png'.format(title), 'wb') as f: # 创建用来保存图片的.png文件 f.write(response.content) # 注意,'wb'中的b 必不可少!! parse_single_html(download_all_html()) # 最后调用我们写的两个函数就行啦,
查看结果
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“Python爬取网站图片并保存的实现示例”评论...
更新日志
2024年07月03日
2024年07月03日
- 华语流行S.H.E《12CD》2001~2010[APE+CUE][3.7GB]
- 北风之望饮品怎么调配?饮品调酒配方分享
- 原画壁纸及美图第254期,无水印可自取
- 原画壁纸及美图第255期,无水印可自取
- 群星.1991-宝丽金冬日浓情【宝丽金】【WAV+CUE】
- 胡杨林.2006-香水有毒【太格印象】【WAV+CUE】
- 陈晓东.2002-从未忘记2CD【环球】【WAV+CUE】
- 绝区零珂蕾妲阵容怎么搭配好 珂蕾妲队伍搭配攻略
- 绝区零暴击鸣徽有哪些 绝区零暴击鸣徽效果介绍
- 魔兽世界奥格瑞玛法师训练师在哪 奥格瑞玛法师训练师位置介绍
- 《艾尔登法环》dlc带电祷告位置介绍
- 《幻兽帕鲁》泰锋boss坐标位置介绍
- 《山河旅探》6月份更新内容介绍
- 群星.2012《高雄国际Hi-End音响大展纪念发烧金碟(最响宣言)》[WAV分轨].
- 黄宣2021-Beanstalk[否极泰来][WAV+CUE]