「网络爬虫」自从学会了python,斗图就没怕过谁

前言

大家好,我是Python之眼。

今天我们介绍一个简单爬虫程序,关于斗图的!!

在这里插入图片描述
【----帮助Python学习,以下所有学习资料文末免费领!----】

斗图嘛

只想说,从此以后,斗图就不用怕谁了!!

来,开

在这里插入图片描述

那我们就按照顺序来吧,先导入需要用到的库:

import requests
import re
import os

等等,你这个导入库没在正文目录下面啊!

没事,接下来我们开始表演就行!

在这里插入图片描述

请开始你的表演

一. 找到页面url规律

这里我们要爬取的网站是斗图啦

  1. 打开网站
  2. 我们先F12打开开发者模式
  3. 在右侧搜索框输入关键词
  4. 点击搜索
  5. 在搜索结果页面下滑,找到 查看更多
  6. 点击查看更多(这个时候请注意浏览器地址栏url变化)
  7. 于是,你发现了它的规律
# 页面变化项是 keyword 和 page,分别对应的搜索关键词和搜索结果页码
url = f'网址链接'

是不是很开心?!

开心你就蹦一蹦~~

在这里插入图片描述

开心

二. 请求搜索结果数据

我们还是直接用requests库进行数据请求即可,这里需要注意的是 需要加上带浏览器的请求头,否则会收到404的错误码!

由于这里我用到re正则表达式进行数据解析,所以,可以先将请求的文本数据中非字符部分去掉,具体看下面代码就好啦。

headers = {
    "Accept-Encoding": "Gzip",  # 使用gzip压缩传输数据让访问更快
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0",
    }

# 搜索页面数据
def get_text(keyword,page):
    url = f'网址'
    # 请求数据
    resp = requests.get(url,headers=headers)
    # 去掉非字符
    text = re.sub('\s','',resp.text)
    
    return text

是不是觉得很简单,很不错!!

在这里插入图片描述

不错哟

三. 解析并下载表情包

我们直接在页面开发者模式下,element元素找到某个表情包,然后在右侧可以看到该表情包所在节点区域,找啊找啊,就找到了表情包的图片地址。

在这里插入图片描述

页面

找到了表情包图片地址后,我们直接用正则表达式解析出他们进行处理就好啦。

为了处理的准确性,这里可以先正则解析出页面中全部表情所在区域,然后再在这个区域里解析每个表情包的图片地址,接着遍历全部的表情包地址进行图片下载

需要注意的是,我这边想将不同关键词搜索结果下的表情包存在不同关键词文件夹里,所以用到了os.mkdir创建关键词文件夹的方式,当然在创建前也需要现判断是否已经存在os.path.exists。

直接看代码吧!!

在这里插入图片描述

???

# 表情包下载
def down_meme(keyword):
    # 由于表情较多,这里只取10页(也有接近700左右)
    pages = 10
    num = 0
    for page in range(1,pages+1):
        text = get_text(keyword,page)
        # 表情包区域
        search_result = re.findall(r'divclass="search-resultlist-group-item"(.*?)class="text-center"',text)[0]
        # 表情包下载地址
        meme_urls = re.findall(r'"data-original="(.*?)"',search_result)
        
        
        # 下载每页的表情包
        for meme_url in meme_urls:
            num += 1
            # 表情包文件名
            meme_name = re.findall(r'网址/.*/(.*)',meme_url)[0]
            meme_img = requests.get(meme_url)
            # 表情包内容 bytes 格式
            meme = meme_img.content
            # 写入本地(判断关键字文件夹是不是存在,不存在则创建一个)
            if not os.path.exists(f'./{keyword}'):
                os.mkdir(f'./{keyword}')
                
            with open(f'./{keyword}/{meme_name}','wb') as f:
                f.write(meme)
                
            print(f'{num} 个 {keyword} 表情包已经下载...')

是不是很简单,很牛逼??

在这里插入图片描述

牛逼?

四.代码跑起来,表情包斗起来!

最后,我们就可以进行表情包的自定义下载啦!

记得加上以下代码:

if __name__ == "__main__":
    # keyword = '呵呵'
    keyword =  input('请输入你想查询的表情包:')
    down_meme(keyword)

代码运行起来,666表情包刷起来!!!

在这里插入图片描述

表情包下载

五.斗图吧

如果你在pc端微信,则直接将下载的表情包拖进对话框就行;如果你是手机用户的话,将文件导入手机,然后以照片形式发送即可!

请开启你的斗图模式!!

在这里插入图片描述

斗图

以上就是本次全部内容,简单粗暴有没有!!

在这里插入图片描述

简单粗暴

还等什么,斗图去吧!

一、Python所有方向的学习路线

刚开始学习python,如果你连完整的学习步骤都没有规划好,基本不可能学会python。他把Python所有方向路线做了整理,形成各个领域的知识点汇总。(图片太太太太太大了,这里放不了没完整版可以文末免费领取)

在这里插入图片描述

二、入门全套学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

在这里插入图片描述

三、Python操作实例

学python就与学数学一样,是不能只看书不做题的,直接看步骤和答案会让人误以为自己全都掌握了,但是碰到生题的时候还是会一筹莫展。

因此在学习python的过程中一定要记得多动手写代码,教程只需要看一两遍即可。

在这里插入图片描述

四、Python就业项目实战

我们学习Python必然是为了找到高薪的工作或者高报酬的兼职,下面是一些公司所能用到的实战项目,学完这些相信大家一定可以找到满意的工作。

在这里插入图片描述

11 Django框架

在这里插入图片描述

16 微信公众号
在这里插入图片描述

18 通用爬虫模块使用

在这里插入图片描述

21 数据分析

在这里插入图片描述

22 机器学习
在这里插入图片描述

还有其他的一些东西,比如说我自己出的Python入门图文类教程,没有电脑的时候用手机也可以学习知识,学会了理论之后再去敲代码实践验证,还有Python中文版的库资料、MySQL和HTML标签大全等等,这些都是可以送给粉丝们的东西。

资料领取

这些都不是什么非常值钱的东西,但对于没有资源或者资源不是很好的学习者来说确实很不错,你要是用得到的话都可以微信扫描下方CSDN官方认证二维码【免费获取】↓↓↓。

在这里插入图片描述

好文推荐

了解python的前景:https://blog.csdn.net/SpringJavaMyBatis/article/details/127194835

了解python的兼职副业:https://blog.csdn.net/SpringJavaMyBatis/article/details/127196603

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_49895216/article/details/130282229
今日推荐