爬取彼岸图网高清壁纸

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

步骤

将代码中的cookie替换成自己的cookie
方式:打开彼岸图网:地址,并且登录,f12打开控制台,然后查看,查看cookie
在这里插入图片描述
全部代码:

"""
爬取彼岸图网
"""
import requests
import random
import re
import time
from lxml import etree
from fake_useragent import FakeUserAgent

# 请求头信息
headers = {
"User-Agent": FakeUserAgent().random,
"Cookie": "注意:这里替换成自己的cookie",
"Referer": "https://pic.netbian.com/"
}


def get_image_info(page):
    if page == 1:
        url = 'https://pic.netbian.com/index.html'
    else:
        url = f'https://pic.netbian.com/index_{page}.html'
    webpage = requests.get(url, headers=headers).content.decode("gbk")
    html = etree.HTML(webpage)
    image_id = [i[8:13] for i in html.xpath('//div[@class="slist"]/ul/li/a/@href')]
    image_name = [i.replace("*", "_") for i in html.xpath('//div[@class="slist"]/ul/li/a/@title')]
    if not image_name:
        image_name = [i.replace("*", "_") for i in html.xpath('//div[@class="slist"]/ul/li/a/img/@alt')]
    data_list = []
    for i in range(0, len(image_id)):
        data_list.append({"id": image_id[i], "name": image_name[i]})
    return data_list


def get_token(image_id):
    t = random.random
    url = f'https://pic.netbian.com/e/extend/downpic.php?id={image_id}&t={t}'
    return re.findall(r'token=(\w+)', requests.get(url, headers=headers).text)[0]


def save_picture(token, image_name):
    url = f'https://pic.netbian.com/e/extend/downpic.php?token={token}'
    data = requests.get(url, headers=headers).content
    with open(fr"D:\pictures\{image_name}.jpg", "wb") as file:
        file.write(data)
        print(image_name, "下载成功")


if __name__ == '__main__':
    dict_list = get_image_info(4)
    print("开始下载,共", len(dict_list), "张")
    for i in range(0, len(dict_list)):
        token = get_token(dict_list[i]['id'])
        print("正在下载第", i + 1, "张")
        save_picture(token, dict_list[i]['name'])
        time.sleep(2)
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值