马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
# ch23_25.py
import bs4, requests, os
headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64)\
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101\
Safari/537.36', }
url = '某个网址发帖发不出来' # 这个服务器会挡住网页
html = requests.get(url, headers=headers)
print("网页下载中 ...")
html.raise_for_status() # 验证网页是否下载成功
print("网页下载完成")
destDir = 'out23_25' # 设定储存文件夹
if os.path.exists(destDir) == False:
os.mkdir(destDir) # 建立目录供未来储存图片
objSoup = bs4.BeautifulSoup(html.text, 'lxml') # 建立BeautifulSoup对象
imgTag = objSoup.select('img') # 搜寻所有图片档案
print("搜寻到的图片数量 = ", len(imgTag)) # 列出搜寻到的图片数量
if imgTag: # 如果有找到图片则执行下载与储存
for img in imgTag: # 循环下载图片与储存
imgUrl = img.get('src') # 取得图片的路径
print(f"{imgUrl} 图片下载中 ... ")
finUrl = url + imgUrl # 取得图片在Internet上的路径
print(f"{finUrl} 图片下载中 ... ")
picture = requests.get(finUrl, headers=headers) # 下载图片
picture.raise_for_status() # 验证图片是否下载成功
print(f"{finUrl} 图片下载成功")
# 先开启档案, 再储存图片
pictFile = open(os.path.join(destDir, os.path.basename(imgUrl)), 'wb')
for diskStorage in picture.iter_content(10240):
pictFile.write(diskStorage)
pictFile.close() # 关闭档案
|