Python爬虫入门教程 54-100 博客园等博客网站自动评论器

简介: 爬虫背景爬虫最核心的问题就是解决重复操作,当一件事情可以重复的进行的时候,就可以用爬虫来解决这个问题,今天要实现的一个基本需求是完成“博客园“ 博客的自动评论,其实原理是非常简单的,提炼一下需求基本需求登录博客园<不实现,登录单独编写博客>调用评论接口返回请求结果确定流程之后,基本...

爬虫背景

爬虫最核心的问题就是解决重复操作,当一件事情可以重复的进行的时候,就可以用爬虫来解决这个问题,今天要实现的一个基本需求是完成“博客园“ 博客的自动评论,其实原理是非常简单的,提炼一下需求

基本需求

  1. 登录博客园<不实现,登录单独编写博客>
  2. 调用评论接口
  3. 返回请求结果

确定流程之后,基本就是找突破口的环节了

实际的去评论一下,然后不管你用什么抓包工具都可以,只要抓取到你想要的数据,即可

评论API如下

Request URL: https://www.cnblogs.com/mvc/PostComment/Add.aspx
Request Method: POST

POST URL 有了,下面就是参数的问题

我随便找了一个请求的参数

{"blogApp":"wuxiaobin","postId":10510784,"body":"继续研究","parentCommentId":0}

分析参数

blogApp 是博主的用户昵称
postid 是博文的ID
body 评论主体
parentCommentid 看参数命名知道应该是指的回复的那条ID

分析到这里,你就可以开始模拟请求了,一般情况下是不成功的,因为我们没有登录,不过,代码先写起来

观察请求头参数

请求头基本包含一些用户信息,必备部分如下,剩下的就是cookies部分了

origin: https://www.cnblogs.com
referer: https://www.cnblogs.com/
user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64) 
x-requested-with: XMLHttpRequest

编写代码

import requests
import json

class CnBlogs(object):

    def __init__(self):
        self._url = "https://www.cnblogs.com/mvc/PostComment/Add.aspx"


    def run(self):
        params = {
            "blogApp":"wuxiaobin",  # 博主ID
            "postId":10510784, # 评论博文的ID
            "body":"继续研究b",  # 评论内容
            "parentCommentId":0}
        headers = {
            "origin": "https://www.cnblogs.com",
            "referer": "https://www.cnblogs.com/",
            "user-agent": "浏览器UA",
            "x-requested-with": "XMLHttpRequest",
            "cookie":".CNBlogsCookie=重要参数;"
        }
        res = requests.post("https://www.cnblogs.com/mvc/PostComment/Add.aspx",data=params,headers=headers)
        print(json.loads(res.text))


if __name__ == '__main__':
    cnblogs = CnBlogs()
    cnblogs.run()

重要提示

经过我的测试,发现判断博客园用户是否登录,关键的是cookie 这个在我之前的博客有涉及,2种写法,重点是你如何去获取,一般情况下,手动获取即可

登录采用的是人机识别验证,这个我单独写一篇博文去研究,目前阶段,你手动获取即可

image

其他的参数,在加载博客的时候,就可以用网页解析相关的知识解析出来,没有难度

如何你想要做成全自动化的,也可以,只需要控制发帖时间随机,发帖内容随机即可,加上一个时间戳也是一个非常不错的解决方案

发帖成功

测试中一定要解析返回的JSON字符串,确定里面的成功和异常信息

{
  'IsSuccess': True,
  'Message': '<div class="comment_my_posted">... ...</div>',
  'Duration': '171'
}

博客园自动评价Over

所有网站的评论原理是相通的,你可以自行研究掘金,CSDN,简书等各种文章类平台,自动评论需要的是大量的用户,动态的IP,其余都不是问题~ 本文章仅供学习,切勿用于恶意用途。

相关文章
|
12天前
|
数据采集 存储 数据挖掘
【优秀python数据分析案例】基于Python书旗网小说网站数据采集与分析的设计与实现
本文介绍了一个基于Python的书旗网小说网站数据采集与分析系统,通过自动化爬虫收集小说数据,利用Pandas进行数据处理,并通过Matplotlib和Seaborn等库进行数据可视化,旨在揭示用户喜好和市场趋势,为图书出版行业提供决策支持。
【优秀python数据分析案例】基于Python书旗网小说网站数据采集与分析的设计与实现
|
12天前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
|
20天前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
【7月更文挑战第31天】在网络数据的海洋中,使用Python的`requests`库构建网络爬虫就像探索未知的航船。HTTP协议指导爬虫与服务器交流,收集信息。HTTP请求包括请求行、头和体,响应则含状态行、头和体。`requests`简化了发送各种HTTP请求的过程。
47 4
|
6天前
|
XML 编解码 数据可视化
MoJoCo 入门教程(六)Python LQR 教程
MoJoCo 入门教程(六)Python LQR 教程
7 2
MoJoCo 入门教程(六)Python LQR 教程
|
8天前
|
人工智能 数据可视化 程序员
精心整理自学python的宝藏网站,不看亏死
精心整理自学python的宝藏网站,不看亏死
24 4
精心整理自学python的宝藏网站,不看亏死
|
13天前
|
监控 数据可视化 数据挖掘
基于python flask茶叶网站数据大屏设计与实现,可以做期末课程设计或者毕业设计
本文介绍了一个基于Python Flask框架的茶叶网站数据大屏设计与实现项目,该项目集成了数据收集、处理、可视化展示、实时监控和交互操作等功能,适合作为课程设计或毕业设计,帮助学生提升数据分析和决策支持能力。
基于python flask茶叶网站数据大屏设计与实现,可以做期末课程设计或者毕业设计
|
14天前
|
数据采集 存储 JavaScript
基于Python 爬书旗网小说数据并可视化,通过js逆向对抗网站反爬,想爬啥就爬啥
本文介绍了如何使用Python编写网络爬虫程序爬取书旗网上的小说数据,并通过逆向工程对抗网站的反爬机制,最后对采集的数据进行可视化分析。
基于Python 爬书旗网小说数据并可视化,通过js逆向对抗网站反爬,想爬啥就爬啥
|
6天前
|
XML 传感器 数据可视化
MuJoCo 入门教程(三)Python 绑定
MuJoCo 入门教程(三)Python 绑定
12 4
|
6天前
|
传感器 数据可视化 Python
MuJoCo 入门教程(五)Python 绑定(下)
MuJoCo 入门教程(五)Python 绑定(下)
8 2
|
6天前
|
XML 数据可视化 安全
MuJoCo 入门教程(五)Python 绑定
MuJoCo 入门教程(五)Python 绑定(上)
11 1