本站消息

站长简介/公众号


站长简介:高级工程师,爱好交友,无偿辅导python和前端,技术交流,面试指导,找工作指导,瞎聊都可加我微信i88811i哈,欢迎欢迎!也欢迎加入程序员交流群,专属程序员的圈子,加我微信拉你进群.欢迎关注我的微信公众号:程序员总部,程序员的家,探索程序员的人生之路!分享IT最新技术,关注行业最新动向,让你永不落伍。了解同行们的工资,生活工作中的酸甜苦辣,谋求程序员的最终出路!

  价值13000svip视频教程,python大神匠心打造,零基础python开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2021-05(3)

2021-06(11)

用python爬点高质量的壁纸换换,每天保持心情愉悦!

发布于2022-01-23 20:13     阅读(113)     评论(0)     点赞(0)     收藏(0)



每天我的壁纸都是Windows自带的天蓝色,看的真的没意思,有意思吗,没意思~
所以啊,当然的整一手高质量壁纸,没有别的意思,只为了心情愉悦~
 
好了,不多哔哔,开启今天的高质量旅途~
 
 
一、准备工作
 
这些统统安排上
 
软件
  • python 3.6
  • pycharm
模块
  • requests
  • parsel
二、爬虫流程
 
关于数据来源查找:
 
确定目标需求: 爬取高清壁纸图片 (彼岸)
通过开发者工具(F12或者鼠标右键点击检查) 查找图片的url地址来源;
请求 壁纸的详情页 获取它网页源代码 就可以获取图片url地址了 (一张);
请求 列表页就可以获取 每个壁纸的详情页url 以及 标题;
 
代码实现
 
1、发送请求
壁纸的列表页url: http://www.netbian.com/1920x1080/index.htm
2、获取数据
网页源代码/ response.text 网页文本数据
3、解析数据
css xpath bs4 re 壁纸详情页url:/desk/23397.htm 2.壁纸标题
4、保存数据
保存图片是二进制数据
 
观众姥爷:就这就这?代码呢?代码都不放你几个意思?
 
 
别慌,来了来了
 
三、代码展示
 
我就不一 一拆解了,注释加上第三步,相信聪明的你可以理解,实在不行最后我放视频讲解吧。
 
复制代码
import requests # 请求模块 第三方模块 pip install requests
import parsel # 数据解析模块 第三方模块 pip install parsel
import time # 时间模块 内置模块

time_1 = time.time()
# 要什么用模块 首先要知道模块有什么用
for page in range(2, 12):
    print(f'====================正在爬取第{page}页的数据内容====================')
    url = f'http://www.netbian.com/1920x1080/index_{page}.htm'
    # 请求头: 把python代码伪装成浏览器对服务器发送请求
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36'
    }
    response = requests.get(url=url, headers=headers)
    # 出现乱码怎么办? 需要转码
    # html_data = response.content.decode('gbk')
    response.encoding = response.apparent_encoding # 自动转码
    # 获取源代码/获取网页文本数据 response.text
    # print(response.text)
    # 解析数据
    selector = parsel.Selector(response.text)
    # CSS选择器 就是根据网页标签内容提取数据
    # 第一次提取 提取所有的li标签内容
    lis = selector.css('.list li')
    for li in lis:
        # http://www.netbian.com/desk/23397.htm
        title = li.css('b::text').get()
        if title:
            href = 'http://www.netbian.com' + li.css('a::attr(href)').get()
            response_1 = requests.get(url=href, headers=headers)
            selector_1 = parsel.Selector(response_1.text)
            img_url = selector_1.css('.pic img::attr(src)').get()

            img_content = requests.get(url=img_url, headers=headers).content
            with open('img\\' + title + '.jpg', mode='wb') as f:
                f.write(img_content)
                print('正在保存: ', title)



time_2 = time.time()
use_time = int(time_2) - int(time_1)
print(f'总计耗时{use_time}秒')
复制代码

我还给大家准备了这些资料,直接在这里免费领。

复制代码
# 一群:872937351 (群满了的话加二群)
# 二群:924040232
# python学习路线汇总
# 精品Python学习书籍100本
# Python入门视频合集
# Python实战案例
# Python面试题
# Python相关软件工具/pycharm永久激活
复制代码

 

大家可以自己运行试试,记得三连哇~

 

 

站长简介:高级工程师,爱好交友,无偿辅导python和前端,技术交流,面试指导,找工作指导,瞎聊都可加我微信i88811i哈,欢迎欢迎!也欢迎加入程序员交流群,专属程序员的圈子,加我微信拉你进群
欢迎关注我的公众号:程序员总部,关注公众号回复python,免费领取 全套python视频教程,关注公众号回复充值+你的账号,免费为您充值1000积分







所属网站分类: 技术文章 > 博客

作者:38373

链接:https://www.pythonheidong.com/blog/article/1257604/bb35b60d00affcf4df00/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

0 0
收藏该文
已收藏

评论内容:(最多支持255个字符)