广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python爬虫实践: 豆瓣小组命令行
  • 186
分享到

python爬虫实践: 豆瓣小组命令行

爬虫豆瓣命令行 2023-01-31 08:01:55 186人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

主要特性 前一阵重新组织了一下代码, 加了命令行help信息, 用起来更方便了一些 初步实现了豆瓣小组及用户相关的api爬虫和请求 基于requests和lxml, 没有用高阶的诸如scrapy之类的爬虫工具 所有的命令行输出都是标准的

主要特性

  • 前一阵重新组织了一下代码, 加了命令行help信息, 用起来更方便了一些
  • 初步实现了豆瓣小组及用户相关的api爬虫和请求
  • 基于requests和lxml, 没有用高阶的诸如scrapy之类的爬虫工具
  • 所有的命令行输出都是标准的JSON格式, 可以使用jq操作

安装

仅支持python3

pip3 install --upgrade dbapi

使用

两种命令模式: 客户端接口调用和豆瓣模块接口调用

# 调用客户端自身API, 比如 dbapi use <cookies>
dbapi <api> [options...]

# 调用豆瓣模块API, 比如 dbapi group list_user_topics
dbapi <module> <api> [options...]
  1. 查看帮助信息: 可以列出所有的命令及参数

    dbapi --help
  2. 用户登录: 有两种形式, 一种是直接用用户名和密码登录, 另一种是直接使用cookie, 因为没有做验证码破解, 所以在频繁登录遇到验证码之后可以通过Chrome控制台拿到cookie之后直接丢给客户端登录

    # 用户名和密码登录, 注意密码是在命令行里的, 有可能会在你的历史记录里面留下密码
    # 虽然这是用户模块的命令, 但是因为是全局依赖, 所以就放到客户端里面了
    dbapi login <username> <passWord>
    
    # 使用cookie登录, 注意cookie里面关键的session id被设置了Http only, 需要到network tab下面获取
    dbapi use <cookies>
  3. 刷新会话信息: 检查本地保存的会话信息是否已经过期, 会话信息会默认保存到$HOME/.__cache__dbapi.json

    dbapi flush
  4. 命令列表: 目前有用户(people)模块和小组(group)模块的命令, 具体如下:

    # -------- 小组部分 --------#
    # 创建评论
    dbapi group add_comment <topic_id> <content> <reply_id>
    # 创建小组
    dbapi group add_group <kwargs>
    # 创建讨论
    dbapi group add_topic <group_alias> <title> <content>
    # 获取讨论信息
    dbapi group get_topic <topic_id>
    # 申请加入小组
    dbapi group join_group <group_alias> <message>
    # 退出小组
    dbapi group leave_group <group_alias>
    # 话题点赞
    dbapi group like_topic <topic_id>
    # 获取评论过的话题列表
    dbapi group list_commented_topics <start>
    # 获取评论列表
    dbapi group list_comments <topic_id> <start>
    # 获取加入的小组列表
    dbapi group list_joined_groups <user_alias>
    # 已加入的所有小组的话题列表
    dbapi group list_joined_topics <start>
    # 获取点赞的话题列表
    dbapi group list_liked_topics <user_alias> <start>
    # 获取推荐的话题列表
    dbapi group list_reced_topics <user_alias> <start>
    # 获取小组话题列表
    dbapi group list_topics <group_alias> <_type> <start>
    # 列出用户在话题下的所有回复
    dbapi group list_user_comments <topic_id> <user_alias>
    # 发表的话题
    dbapi group list_user_topics <start>
    # 推荐话题
    dbapi group rec_topic <topic_id>
    # 删除评论
    dbapi group remove_comment <topic_id> <comment_id> <reason> <other>
    # 删除话题下所有自己的评论
    dbapi group remove_commented_topic <topic_id>
    # 删除小组
    dbapi group remove_group <group_id>
    # 删除话题
    dbapi group remove_topic <topic_id>
    # 搜索小组
    dbapi group search_groups <keyword> <start>
    # 搜索话题
    dbapi group search_topics <keyword> <sort> <start>
    # 喜欢话题
    dbapi group undo_like_topic <topic_id>
    # 取消推荐话题
    dbapi group undo_rec_topic <rec_id>
    # 更新话题
    dbapi group update_topic <topic_id> <title> <content>
    
    
    # -------- 用户部分 --------#
    # 添加相册
    dbapi people add_album <kwargs>
    # 添加相册评论
    dbapi people add_album_comment <kwargs>
    # 添加照片
    dbapi people add_photo <kwargs>
    # 添加照片评论
    dbapi people add_photo_comment <photo_id> <content>
    # 添加说说
    dbapi people add_status <kwargs>
    # 获取相册
    dbapi people get_album <album_id>
    # 获取用户信息
    dbapi people get_people <user_alias>
    # 获取照片
    dbapi people get_photo <photo_id>
    # 喜欢照片
    dbapi people like_photo <photo_id>
    # 喜欢说说
    dbapi people like_status <status_id>
    # 获取相册列表
    dbapi people list_albums <user_alias>
    # 获取关注用户列表
    dbapi people list_contacts <user_alias> <start>
    # 获取照片评论列表
    dbapi people list_photo_comments <photo_id> <start>
    # 获取照片喜欢列表
    dbapi people list_photo_likes <photo_id> <start>
    # 获取照片推荐列表
    dbapi people list_photo_recs <photo_id> <start>
    # 获取照片列表
    dbapi people list_photos <album_id>
    # 获取粉丝列表
    dbapi people list_rev_contacts <user_alias> <start>
    # 获取说说评论列表
    dbapi people list_status_comments <user_alias> <start>
    # 获取说说列表
    dbapi people list_statuses <user_alias> <start>
    # 推荐照片
    dbapi people rec_photo <photo_id>
    # 删除相册
    dbapi people remove_album <album_id>
    # 删除相册评论
    dbapi people remove_album_comment <kwargs>
    # 删除照片
    dbapi people remove_photo <photo_id>
    # 删除照片评论
    dbapi people remove_photo_comment <comment_id>
    # 删除说说
    dbapi people remove_status <status_id>
    # 取消喜欢照片
    dbapi people undo_like_photo <photo_id>
    # 取消喜欢说说
    dbapi people undo_like_status <status_id>
    # 取消推荐照片
    dbapi people undo_rec_photo <photo_id>
    # 更新相册
    dbapi people update_album <kwargs>

源代码

GitHub: https://github.com/acrazing/d...

--结束END--

本文标题: python爬虫实践: 豆瓣小组命令行

本文链接: https://www.lsjlt.com/news/192495.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python爬虫实践: 豆瓣小组命令行
    主要特性 前一阵重新组织了一下代码, 加了命令行help信息, 用起来更方便了一些 初步实现了豆瓣小组及用户相关的API爬虫和请求 基于requests和lxml, 没有用高阶的诸如scrapy之类的爬虫工具 所有的命令行输出都是标准的...
    99+
    2023-01-31
    爬虫 豆瓣 命令行
  • 实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
    安装部署Scrapy 在安装Scrapy前首先需要确定的是已经安装好了Python(目前Scrapy支持Python2.5,Python2.6和Python2.7)。官方文档中介绍了三种方法进行安装,我采用...
    99+
    2022-06-04
    爬虫 豆瓣 框架
  • Scrapy 爬虫实例 抓取豆瓣小组信息并保存到mongodb中
    这个框架关注了很久,但是直到最近空了才仔细的看了下 这里我用的是scrapy0.24版本先来个成品好感受这个框架带来的便捷性,等这段时间慢慢整理下思绪再把最近学到的关于此框架的知识一一更新到博客来。最近想学...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作