13.使用Python抓取网页内容并解析出图片地址,将图片转为JPEG格式后保存本地

import os.path
import re
from io import BytesIO
from PIL import Image
import requests

if __name__ == "__main__":
    #伪装浏览器标识
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36",
    }
    #获取南瓜园论坛时尚街拍html源码
    html=requests.get(url='http://www.kankan2008.com/forum-126-1.html',headers=headers).text
    #使用正则表达式匹配帖子列表中的链接
    pattern='<th class="new">.*? <a href="(thread.*?html).*?</th>'
    lst=re.findall(pattern,html,re.S)
    #创建girls文件夹
    if not os.path.exists('girls'):
        os.mkdir('girls')
    for str in lst:
        url='http://www.kankan2008.com/'+str
        #获取帖子对应URL内html数据
        html=requests.get(url=url,headers=headers).text
        #匹配图片地址
        pattern='class="zoom" src="(.*?)" onmouseover'
        imgList=re.findall(pattern,html)
        #下载图片至girls文件夹
        for imgUrl in imgList:
            fileName=imgUrl.split('/')[-1].replace('webp','jpg')
            imgData=requests.get(url=imgUrl,headers=headers).content
            byteStream=BytesIO(imgData)
            im=Image.open(byteStream)
            im.save('girls/'+fileName,'JPEG')
            print(fileName,"下载完成")



  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值