Redian新闻
>
4K美女壁纸爬取

4K美女壁纸爬取

科技

4K美女壁纸爬取

一、前言

拍了zhenguo的课程,今天继续学习课程同时,尝试使用BeautifulSoup4这个网页解析的方法爬取图片,看完后心血来潮,想自己也试一下。

爬完后并总结这篇投稿给zhenguo,奖励我50元稿费,很开心。

最先想到的是彼岸图网,这个网站上有很多4k壁纸,打开网页后,我选择了4k美女壁纸作为本次爬虫的目标,爬取到的图片截图如下:


二、过程

1.首先,我们拿到前三页的网页地址。

2.通过分析可以看出,当页面变化时,index后面会发生改变,但在第一页时并没有数字显示,所以做出以下操作,通过input获取我们想要爬取的页数,使用if语句对index进行赋值,再传入要爬取的网址中。

3.接下来就是获取网页源代码了,使用requests.get拿到网页源代码,在打印时发现出现了乱码,根据网页源代码里的提示,规定格式为'gbk',再获取bs对象main_page,指定解析器为'lxml'。

4.在网页源代码中分析得知,需要的内容在标签div class='slist'的标签中,每一个li标签下的a标签包含了要爬取的每张图片的所有信息,所以使用find('div',class_='slist')先定位主标签,再使用find_all('a')定位每一个子标签。接着使用for循环,遍历每一个a标签下的内容,使用get('href')拿到该图片的url,再使用切片的方法,提出图片的数字编号,传入下载地址,就得到了每一个图片的下载地址。注意:这里的下载地址是通过抓包获取,在子页面的网页源代码中是找不到的。

5.有了下载地址,使用requests模块获取响应。这里要注意,该网站要登录后才能进行下载,所以我们要在请求头里传入cookie参数。获取响应后我们就要写入文件保存起来。

三、完整源码

import requests
from bs4 import BeautifulSoup
import time
'''
第一页 https://pic.netbian.com/4kmeinv/index.html
第二页 https://pic.netbian.com/4kmeinv/index_2.html
第三页 https://pic.netbian.com/4kmeinv/index_3.html
'''

headers = {
    'cookie''__yjs_duid=1_609256ccf97c86f63356e4e9f3fa5eb21654735480955; Hm_lvt_c59f2e992a863c2744e1ba985abaea6c=1654735481; zkhanecookieclassrecord=%2C65%2C59%2C66%2C54%2C53%2C55%2C; PHPSESSID=25p1pnl1nog1nn56lic0j2fga6; zkhanmlusername=qq803835154342; zkhanmluserid=826128; zkhanmlgroupid=3; zkhanmlrnd=VQOfLNvHK33WGXiln7nY; zkhanmlauth=264643c01db497a277bbf935b54aa3f3; Hm_lpvt_c59f2e992a863c2744e1ba985abaea6c=1654741154'
}
page = int(input('请输入要爬取的页数:'))
for i in range(page):
    if i == 0:
        index = 'index'
    else:
        index = f'index_{i+1}'
    theme_url = f'https://pic.netbian.com/4kmeinv/{index}.html' # 要爬取主题的url
    response = requests.get(theme_url)
    response.encoding = 'gbk'
    main_page = BeautifulSoup(response.text,features="lxml")
    li_all_a = main_page.find('div',class_='slist').find_all('a'# li标签下所有的a标签
    for a in li_all_a:
        href = a.get('href')
        picture_num = href[8:13]
        picture_name = a.find('b').string
        down_url = f'https://pic.netbian.com/downpic.php?id={picture_num}&classid=54' # 子页面中的下载地址
        down_response = requests.get(down_url,headers=headers)
        with open(f'4k美女图片/'+picture_name+'.jpg',mode='wb'as f:
            f.write(down_response.content) # 图片内容写入文件
        print('正在保存',picture_name+'.jpg')
        time.sleep(1)
    response.close()
print('程序运行完毕')

四、结尾

以上是爬取4k美女壁纸的简单案例,有兴趣的小伙伴可以对比一下其他主题壁纸,参数稍作修改即可下载其他主题壁纸了。

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
[电脑] 广色域高刷4K电竞屏——微星Optix MPG 321UR-QD显示器开箱简测金卡戴珊引发全网骂战?为穿梦露礼服3周狂减15斤,美女演员开喷:令人作呕!安大略湖的美丽早晨难得一见的好剧《知青岁月》(张译、潘雨辰主演)老祖宗的神仙审美,每一个局部都能拿来当壁纸战火中的生命与爱情见证历史!美国最高法被爆欲剥夺全美女性堕胎权,疯狂倒退50年?中国最美女航天员,藏在背后20年的丈夫火了:拥有完美爱情的夫妻,都做对了什么?星际战机:配备 4K 10 位 IPS 显示屏的 Linux 笔记本电脑即将问世 | Linux 中国爬虫案例:拉勾网工作职位爬取[电脑] RTX30和12代酷睿的末代狂欢!畅玩4K分辨率3A游戏还是没问题的82岁教父生日28岁白富美女友曝光!为什么富豪圈流行“老少配”?美女警带着杀人犯为爱越狱!卖光家产,逛情趣用品店,结局极速反转…推荐一个了解上海疫情的网址那些我非常反感的东西:忽悠与觅食,东洋与西洋,“美女”与“小姐姐”等等噢哟!加油站惊现火辣性感比基尼美女宣传引发网络爆议!X传吴XX!超美女生发现“自己”和人聊X?抽丝剥茧活逮!“中国最美女性”去世,带走了一个时代美女警和杀人犯情人越狱!亡命11天,和警方激战后开枪自杀让美女踩脸算不算工伤?NAND闪存之争:韩国双雄PK美日同盟这是什么港圈大美女啊,60岁还能靠唱跳火上热搜惊魂!美女局长19楼坠亡,校长丈夫被捕!婚姻不可怕,怕的是挑错伴侣美出圈了!今晚这场音乐会,每一帧都是壁纸愤怒!南航直飞机票4k,只开放给外国人!留学圈评论区炸了北美求职指北-E周报:Netflix财报大跌,净付费用户十多年来首度流失;五年官司终败诉:爬取领英数据“完全合法”(4月第4周)曾被称作日本第一美女,经历爆红、离婚弃子,52岁又被嘲脸僵老化……HydraPaper:一个支持多显示器的 Linux 壁纸管理器 | Linux 中国乐高42143 法拉利Daytona SP3所有者证书和VIP素材包发布!快来下载乐高官方提供的高清电脑/手机壁纸吧!幸福像花儿一样有娃后,我不再追求做“完美女性”名利场||大杀四方的台剧大美女林韦君,爱和帅哥谈恋爱有错么?非要把那种壁纸软件玩坏吗?她上榜全球最美女人,却因完美身材被雪藏,如今48岁胖成大妈:别p我图!一代美女基因,濒临断绝
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。