基于golang的爬虫demo,爬取豆瓣点评文章信息(movie、book、music)

本文介绍了使用Go语言编写爬虫,抓取豆瓣平台上的电影、书籍、音乐的用户点评文章信息。从找规律、定位HTML元素、设计爬取流程到编码实现,详细展示了爬取过程。同时,将爬取到的数据转换为Markdown格式存储,便于阅读。请注意,该代码仅用于学习交流,不可用于非法用途。

基于golang的爬虫demo,爬取豆瓣点评文章信息(movie、book、music)

注意:仅供学习交流,任何非法使用与作者无关!

目录

基于golang的爬虫demo,爬取豆瓣点评文章信息

0x00、背景介绍

0x01、找规律

0x02、定位HTML元素

0x03、设计过程

0x04、编码

0x05、转换markdown存储

0x06、效果图


0x00、背景介绍

上篇文章博主已经介绍、分析,以及上传了源代码,如何获取爬取的信息,如何通过浏览器检查设置来定位HTML中各个标签的元素,本文再一次实践一下,爬取豆瓣点评的文章。

demo仍然是基于golang语言编写开发。仍然写出详细的获取、设计、编码过程。将支持图书、电影、音乐的爬取,以及按照热度,起始页、终止页自定义来爬取数据。灵活度更高。

0x01、找规律

豆瓣点评不同与微博,微博更注重个人信息的收集保护,而豆瓣本身就是一个分享点评的平台,共享是平台的特色,所以连最最基本用户登录信息也不用写入,直接匿名进行爬取,数量好像也没有额外的限制。(博主本身没有测试过最大爬取数量)

点击【读书】->【书评】

拿到最受欢迎书评的URL:

https://book.douban.com/review/best/?start=0(首页)

https://book.douban.com/review/best/?start=20(第二页)

然后对比获取最新发表的URL关键字:

https://book.douban.com/review/latest/?start=0(首页)

https://book.douban.com/review/latest/?start=20(第二页)

// 主要遍历页数伪代码如下
i = 1, max = 10;
type = "best";

u := "https://book.douban.com/review/" + type + "/?start=";
 
for i=1; i<max; i++{
    url := u + i * 10;
    r = RequestUrl(url);
    res = append(res , r)
}

0x02、定位HTML元素

然后根据首页的图书点评获取每一条数据。

这样就拿到了每条中大的div,然后逐步分解,像TCP/IP协议一样一层一层的剥来。如下完整的html的div数据。

<div class="main review-item" id="13642776">
                <a class="subject-img" href="https://book.douban.com/subject/35397746/">                    <img alt="虚无时代" title="虚无时代" src="https://img1.doubanio.com/view/subject/m/public/s33901818.jpg" rel="v:image">                </a>

    <header class="main-hd">
        <a href="https://www.douban.com/people/weizhoushiwang/" class="avator">
            <img width="24" height="24" src="https://img1.doubanio.com/icon/u1679535-8.jpg">
        </a>

        <a href="https://www.douban.com/people/weizhoushiwang/" class="name">维舟</a>

            <span class="allstar50 main-title-rating" title="力荐"></span>

        <span content="2021-06-29" class="main-meta">2021-06-29 07:49:56</span>


    </header>


            <div class
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

byzf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值