小红薯爬虫超级简单偏,人人都能拿到的数据

**

在这个互联网高速发展的时代,数据已经越来越被更多人需要。
小🍠红书,知乎,抖音,视频号已经是主流。
学好一个爬虫,为自己的笔记或者视频来分析数据和流量吧

**

**

大家来看看我写的爬虫吧(不要复杂,要以结果为导向)

**
今天使用的是DrissionPage包,今天不谈selenium

今天就简单获取下小红书 根据关键词获取每个笔记下面的图片和点赞收藏等数据吧

首先打开小红书

from DrissionPage import ChromiumPage
ch = ChromiumPage()
ch.get("https://www.xiaohongshu.com/explore")

打开后发现会让登录小红书,这时候不要担心,我们拿出手机扫一扫,不要想太多去破解登录什么的 用最简单的方法去解决

直接拿出手机打开小红书进行扫码

这是登录完的场景
接下来我们用爬虫让程序自动输入关键词去搜索相应的笔记

在这里插入图片描述

首先找到这个搜索框的元素,鼠标点击右键,再次点击检查 或者f12

点击左上角的这个小箭头

在这里插入图片描述

点击完毕以后将鼠标移到左边的小红书,只要放上去,就会出现以下的蓝色和绿色的框框,比如你想输入关键词,那就将鼠标放到这个搜索上边,然后点击一下,右边的f12 Elements就会出现html

在这里插入图片描述
在这里插入图片描述

此时就可以看到右边的input输入框,对着这个input输入框在进行鼠标右键点击
复制 XPATH 元素,接着看下边的代码

在这里插入图片描述

ch.ele('xpath://*[@id="search-input"]').input("输入你想输入的关键词(杭州旅游攻略)")
当你输入完,正常大家在访问网页的时候,输入完点击搜索,小红书才会执行吧,在代码里面很简单哦,别眨眼往下看。。。
这个\n就是代替我们的回车键盘 ENTER,此时执行程序他家会自动输入关键词并搜索出来笔记
ch.ele('xpath://*[@id="search-input"]').input("杭州的旅游攻略\n")

在这里插入图片描述

此时搜索出来的笔记有很多很多,我们先爬去前10个出来看一下 今天爬的内容是(图片,笔记标题,笔记点赞,收藏,浏览,发笔记的作者)
获取每个笔记里面有多少张图片
    def blog_img_len(self):
        img_len = self.ch.eles('xpath://*[@id="noteContainer"]/div[2]/div/div/div[6]/div[@class="pagination-list"]/div')
        return len(img_len)

    """笔记图片抓取"""
    def blog_img_spider(self):
        img_len = self.blog_img_len()
        img_link_list = []
        for i in range(0,img_len+1):

            blog_img = self.ch.ele('xpath://*[@id="noteContainer"]/div[2]/div/div/div[2]/div/div[@data-index="{}"]/div/img'.format(i))
            if str(blog_img)!='None':
                blog_img = str(blog_img).split("src='")[1].split("' fetchpriority='auto'")[0]

                img_link_list.append(blog_img)
        return img_link_list
下边就是获取笔记的点赞 收藏等数据
        for j in blog_list:
            self.ch.get("https://www.xiaohongshu.com/explore{}".format(j))
            time.sleep(0.5)

            blog_img_link = self.blog_img_spider()
            blog_user_name = self.ch.ele('xpath://*[@id="noteContainer"]/div[4]/div[1]/div/div[1]/a[2]/span')
            try:
                blog_title = self.ch.ele('xpath://*[@id="detail-title"]')
                blog_title = blog_title.text
                blog_time = self.ch.ele('xpath://*[@id="noteContainer"]/div[4]/div[2]/div[1]/div[3]/span[1]')
                blog_time = blog_time.text

            except:
                blog_title = ''
                blog_time = ''
            blog_article = self.ch.ele('xpath://*[@id="detail-desc"]/span[1]')
            blog_like = self.ch.ele('xpath://*[@id="noteContainer"]/div[4]/div[3]/div/div/div[1]/div[2]/div/div[1]/span[1]/span[2]')
            blog_collect = self.ch.ele('xpath://*[@id="note-page-collect-board-guide"]/span')
            blog_comment = self.ch.ele('xpath://*[@id="noteContainer"]/div[4]/div[3]/div/div/div[1]/div[2]/div/div[1]/span[3]/span')
            result = {"blog_user_name":blog_user_name.text,"blog_title":blog_title,"blog_img_link":blog_img_link,"blog_time":blog_time,"blog_article":blog_article.text,"blog_like":blog_like.text,"blog_collect":blog_collect.text,"blog_comment":blog_comment.text}
            data_frame_list.append(result)
            print(result)

接下来就是重点哦

我们开头所说的登录授权,其实15天内只需要授权一次哦,授权完我会记住你的登录token和浏览器缓存,你们每次爬虫都不需要在授权 很方便吧,授权token信息会写在数据库,方便进行管理

在这里插入图片描述

点击发送 ,代码就会执行了哦

在这里插入图片描述
这里就拿到结果了哦,超级方便,轻轻一点,就能获取数据了

说到这里还不懂的朋友可以关注我的小红薯,里边会有讲解哦,关注后给我发一条私信 csdn来的哦
我会实时为大家解答,还有视频号 抖音 快手等

小红薯搜索:
在这里插入图片描述

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值