requests-爬取美女图片源码

本文介绍了如何使用requests库分析ajax请求,获取图片URL,并通过Python代码下载并保存到本地。首先解析存放图片的JSON数据,接着提取图片链接,最后请求图片并利用open()和write()方法将其保存到特定文件夹。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

爬取思路:
1.分析ajax请求,找到存放图片地址的json
2.解析json数据,提取中图片url
3.再次请求图片url,通过open()和write()方法将图片保存至内地。

废话少说,直接上代码:
前提条件是在当前.py文件同级目录下新建一个beauty360的文件夹用来保存图片

import requests
import time
import re

base_url="https://image.so.com/z?"
num=1
headers={
"Host": "image.so.com",
"Referer": "https://image.so.com/zv?ch=beauty",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36",
"X-Requested-With": "XMLHttpRequest",
"Cookie": "__guid=16527278.4407656107534301000.1546852761488.196; __guid=100021698.456336978600101800.1546852883449.8489; count=2; tracker=; lightbox_thumb_visible=1; _S=ab9f5ecb680ae35247705feda8f5bda4; test_cookie_enable=null"
}

header1={
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9',
'cache-control':'max-age=0',
'upgrade-insecure-requests':'1',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'
}
#获取存有具体图片url地址的json数据
def get_json(page):
    paras = {
        "ch": "beauty",
        "a": "jsonpViewScroll",
        "i": page,
        "count": 30
    }
    try:
        response=requests.get(base_url,params=paras,headers=headers)
        if response.status_code==200:
            json=response.json()
            return json
    except:
        print("wrong url.")
        
#解析图片url地址,并保存图片至本地
def get_pic(json):
    global num
    datas=json.get("data")
    if datas:
        for item in datas:
            groupdatas=item.get("groupdata")
            if groupdatas:
                for group in groupdatas:
                    picurl=group.get("qhimg_url").strip()
                    response = requests.get(picurl, headers=header1)
                    if response.status_code==200:
                        num=num+1
                        print(str(num)+": "+picurl)
                        with open(r"./beauty360/"+str(num)+".jpg","wb") as fp:
                            fp.write(response.content)

if __name__=="__main__":
    for page in range(1,600):
        json=get_json(page)
        get_pic(json)
        time.sleep(3)

源码为了缩减内容不带任何图片数据,请搭建后自己采集或者录入,采集不会的话可以百度找一下采集教程,,也可以直接去淘宝上找做采集的,价格也不是很贵! 本帖资源标签:WordPress自适应图片主题,主题模板,带会员积分下载系统 分类和标签添加筛选功能; 列表增加用户自定义排序功能,支持点赞和浏览数量排序; 优化二级菜单和三级菜单的css样式; 支持会员功能和用户中心模板; 支持第三方快速登陆(QQ和新浪); 新增单图模式,全新的图片浏览模式; 新增登陆、注册、找回密码三合一页面模板; 新增文章点赞排行榜页面; 新增AJAX列表加载功能; 新增广告投放面板; 支持点卡充值和点卡生成功能; 支持积分签到功能; 支持评论和投稿奖励积分功能; 支持积分开通会员功能(目前内置3个级别的会员); 支持积分下载资源和免费资源下载; 支持vip免费资源添加; 新增下载资源管理员和作者查看下载次数和校验资源功能; 支持文章前台投稿功能; 支持前台开启相对地址和绝对地址切换功能; 新增图片自动分页功能; 新增图片分页浏览模板; 新增后台列表显示缩略图和封面图片功能; 全新的SEO功能; 新增文章收藏功能; 新增文章顶踩功能(踩的按钮目前只在单图模式显示); 新增图片预加载功能; 幻灯片支持外链和自定义大图; 源码测试环境推荐php5.2/5.3/5.4Mysql 安装说明: 上传文件拿到网站根目录,直接安装即可,附带wordpress。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值