python爬虫——爬取单页内容之图片
python代码如下:
点击查看代码
'''
爬取单页内容——bing图片
1. 分析源代码,bs4解析html,并查找筛选
2. 循环获取链接,正则获取图片文件名
3. 读取每条链接图片的content信息
4. 写入文件,用 图片文件名 命名
'''
# 入库
import re
import requests
from bs4 import BeautifulSoup
# 目标网址,get获取源代码,调整编码
url = 'https://bing.wdbyte.com/zh-cn/'
resp=requests.get(url)
resp.encoding='utf-8'
# 提交源代码给BeautifulSoup4,使之分析html
main_page=BeautifulSoup(resp.text,'html.parser')
alist_all=main_page.find('div',class_='w3-row-padding w3-padding-16 w3-center').findAll('a',attrs={'href':re.compile(r'https://.*?')})
# 循环依次读取链接并下载
for a in alist_all:
href = a.get('href') # 每次循环得到一个a的href的值
print(href) # 须要和findAll的属性一样。a 有href属性,无src属性;img有src,无href
# 下载准备
img_resp = requests.get(href) # img_resp.content 拿到字节
img_name_pattern = re.compile(r'ZH-CN.*?jpg') # 图片文件名的正则
img_name_list = img_name_pattern.findall(href) # 查找此条链接中符合正则的内容
img_name = ''.join(img_name_list) # 完成列表转字符串,否则img/+ 报错,列表不支持拼接
# 开始下载
with open('img/' + img_name, mode='wb') as f:
f.write(img_resp.content) # 图片字节写入文件
print('完成了!!!', img_name)
print('完事!休息!')
本文来自博客园,作者:向君,转载请注明原文链接:https://www.cnblogs.com/felixroc/p/18525790