一个大胆的想法,爬取简书所有的文章信息

在上一篇我们写了一个爬虫脚本,这个脚本可以通过用户的 uid爬取对应用户的所有文章的信息并保存到本地。

既然我们已经可以爬取单个用户的所有文章了,那我们就想,是否能够爬取更多用户的文章信息?

比如说我们定个小目标:爬取所有简书用户的文章信息。

这个小目标好像有点难度,那我们再定一个小小目标,先爬他个一万篇文章的信息。

这样看起来就简单多了,等我们爬到了一万篇文章信息,再爬十万、一百万、一 ... ..、最后就是简书所有的文章了,嘿嘿嘿( •̀ ω •́ )y。

既然已经确定了目标,那么就让我们行动起来。

一、爬取思路

磨刀不误砍柴工,在敲代码之前让我们先来讨论一下应该怎么爬取。

清晰的思路往往可以使我们的劳动达到事半功倍的效果。

第一个问题:如何获取用户 uid

我们知道,每个用户都会关注一些其他的用户,而这些被关注的用户也有自己关注的用户,这样一直循环。

所以我们的爬虫思路就是,先找一批关注数量较多的用户,以这些用户为起点,爬取他们所关注的用户。

这样我们就获得了第一批的用户 uid,然后在第一批用户的基础上再爬取第一批用户的关注,这样我们就获得了第二批用户,如此往复,只要时间够长,我们就能够获取简书绝大部分的用户 uid。

第二个问题:如何获取用户文章信息

这个问题我们已经在上一篇讲过了,不知道的可以取看看

python爬虫系列之数据存储实战:爬取简书用户文章列表并保存

第三个问题:如何保存数据

对于较大的数据量,数据库肯定是第一选择。但是我们还没讲过如何使用数据库,所以只好用 csv了。

那为什么不用 json呢?原因我们在上一篇讲过,json不能逐条保存数据,而我们要爬取的数据量又比较大,不能全保存在缓存里等到最后再写入,所以就只能用 csv了。

二、程序结构

  1. 请求模块

    接受一个 url,返回 url对应网页的 xpath对象

    需求:

    • 能随机切换 user-agent
    • 可以设置代理
    • 能对返回结果进行一定的预处理
  2. uid 解析模块

    解析用户 uid

    需求:

    • 能够自动去除已爬取过的 uid
    • 可以不断返回 uid-->生成器
  3. 数据爬取模块

    接受一个 uid作为参数,返回 uid对应用户的所有文章信息

    需求:

    • 返回信息为字典格式
    • 自动判断是否爬取结束
  4. 数据保存模块

    接受一个字典的列表,将数据保存到对应的文件中

    需求:

    • 将字典格式的数据保存到文件中
  5. 断点续爬

    在出现意外情况后能够从上次中断的地方继续爬取

    需求:

    • 断点续爬

以上就是程序的大体框架和功能,细节部分后面我们慢慢完善。

如果你有什么想法,欢迎评论留言一起参与这个项目。

项目的源代码会发布在 GitHub上,下一篇我们先把程序的框架完成。

觉得写的不错?点赞、评论、关注三连来一套(。^▽^)

上一篇:python爬虫系列之数据存储实战:爬取简书用户文章列表并保存
下一篇:实战:爬取简书之搭建程序框架

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
scrapy是一个用于网站抓取和数据提取的Python框架,而微博和简书分别是一个社交媒体平台和一个知识分享平台。要使用scrapy爬取微博评论简书,可以按照以下步骤进行: 首先,需要安装好Python和scrapy框架。可以通过安装Python的pip包管理工具,并使用pip安装scrapy。 然后,对于微博,可以通过登录微博开放平台,注册一个开发者账号,并创建一个应用。获取到应用的App Key和Secret Key,以便进行API调用。在scrapy项目的settings.py文件中添加好相应的key。 接下来,使用scrapy创建一个新的项目。可以使用命令行工具执行以下命令:scrapy startproject weibo 在项目的spiders目录下,创建一个新的spider。可以使用命令行工具执行以下命令:scrapy genspider weibo_spider "weibo.com" 编辑新创建的spider,编写爬取微博评论的代码。可以使用weibo API提供的接口进行评论的爬取。 然后,启动爬虫,执行以下命令:scrapy crawl weibo_spider 在简书的情况下,可以使用简书提供的API接口进行评论的抓取。首先,需要注册一个账号,并通过简书的开发者平台获取到相应的API Key。然后,使用获取到的API Key进行API调用。 创建一个新的spider来实现对简书评论的爬取,类似于上述微博的爬虫。 最后,启动爬虫,执行相应的命令来抓取简书评论。 总之,使用scrapy爬取微博评论简书可以通过利用它提供的网页抓取和数据提取功能,结合微博和简书的API进行相应的数据获取。通过上述步骤的操作,可以简单实现这个目标。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值