找回密码
  注册[Register]
查看: 764|回复: 12

[python] 爬取Wallpaper Abyss 高清壁纸

[复制链接]
发表于 2021-11-7 11:27 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

[Python] 纯文本查看 复制代码
import requests
import re
from lxml import etree
 
url = "https://wall.alphacoders.com/search.php?"
p_main_url = "https://wall.alphacoders.com"
data = {
    "page": "2",   # 页数
    "lang": "Chinese",  # 语言 没什么用
    "search": "landscape",   # 索引
    "view": "paged",        # 分页显示
    "min_resolution": "3840x2160",  # 分辨率
    "resolution_equals": "=",     # 精准
    "sort_search": "relevance",     # 相关性
}
p_main_url_list = []
img_id_list = []
n_img_url_list = []
img_url_list = []
response_main = requests.post(url, data=data).text
html = etree.HTML(response_main)
# 获取每张图片主页后缀
p_url_list = html.xpath('//div[@class="center"]//div[@class="boxgrid"]//a//@href')
# 获取每张图片的主页完整URL
for a in p_url_list:
    img_main_url = p_main_url + a
    # print(img_main_url)
    p_main_url_list.append(img_main_url)
# 获取图片IDs
for b in p_url_list:
    img_id = re.findall(r"\d+\.?\d*", b)[0]
    img_id_list.append(img_id)
# 获取图片编号
n_img_list = html.xpath('//div[@class="center"]//div//div[@class="boxgrid"]//img//@src')
for c in n_img_list:
    n_img = re.findall(r"https://[a-z0-9]*.[a-z0-9]*.[a-z0-9]*/[0-9]*/", c)[0]
    # print(n_img)
    n_img_url_list.append(n_img)
# 拼接图片 url
# print(n_img_url_list)
# print(img_id_list)
n = 0
for d in range(len(n_img_url_list)):
    img_url = n_img_url_list[d] + img_id_list[d] + ".jpg"
    img_url_list.append(img_url)
# 请求每张的图片的url 获取原图
n = 0
for e in img_url_list:
    response_img = requests.get(e).content
    with open("D:\\其他\\233\\Python\\爬虫入门到精通\\实战项目\\wallpaper\\img\\" + img_id_list[n] + ".jpg", 'wb') as f:
        f.write(response_img)
    print('正在下载第{}张图片!'.format(n))
    n = n + 1
    if n == len(img_url_list):
        print("图片下载完成!")

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2021-11-7 11:46 | 显示全部楼层
谢谢大佬
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-11-7 12:06 | 显示全部楼层
6666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-11-7 12:56 | 显示全部楼层
6666666666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-11-7 13:08 | 显示全部楼层
谢谢大佬分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-11-7 13:35 | 显示全部楼层
谢谢分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-11-7 15:53 | 显示全部楼层

感谢楼主的分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-11-7 20:15 | 显示全部楼层
先收藏了,万一用到呢
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-11-7 21:10 | 显示全部楼层
谢谢分享!
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-11-7 21:14 来自手机 | 显示全部楼层
谢谢分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

RSS订阅|手机版|小黑屋|广告投放|大牛论坛

GMT+8, 2024-5-13 02:58 , Processed in 0.041911 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表