python爬虫入门教程54-100博客园等博客网站自动评论器(代码片段)

happymeng happymeng     2022-12-03     502

关键词:

爬虫背景

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

基本需求

  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种写法,重点是你如何去获取,一般情况下,手动获取即可

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

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

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

发帖成功

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


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

博客园自动评价Over

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

『python开发实战菜鸟教程』实战篇:爬虫快速入门——统计分析csdn与博客园博客阅读数据(代码片段)

...计博客园博客阅读量0x03:后记推荐补充阅读:『Python开发实战菜鸟教程』工具篇:手把手教学使用VSCode开发Python0x01:引子这是一个网络爬虫快速入门实战教程,笔者希望读者能跟着这个博客进行实操,从... 查看详情

python开发爬虫之动态网页抓取篇:爬取博客评论数据

以爬取《Python网络爬虫:从入门到实践》一书作者的个人博客评论为例。网址:http://www.santostang.com/2017/03/02/hello-world/1)“抓包”:找到真实的数据地址 右键点击“检查”,点击“network”,选择“js”。刷新一下页面,选中... 查看详情

python爬虫爬取csdn博客专家所有博客内容

python爬虫爬取csdn博客专家所有博客内容:全部过程采取自动识别与抓取,抓取结果是将一个博主的所有文章存放在以其名字命名的文件内,代码如下 #coding:utf-8importurllib2frombs4importBeautifulSoupimportosimportre#importsys#reload(s... 查看详情

初学者的爬虫日志

...趣很重要!)。打开浏览器,百度了下网络爬虫,什么用python写网络爬虫的的比较多,所以就用它了(好随便的赶脚).然后我开始搜索有关用python写的网络爬虫的网络博客(主要是入门的教程指导类),看了下博客,怎么说呢,网... 查看详情

进一步了解xpath(利用xpath爬取飞哥的博客)python爬虫入门进阶(04)(代码片段)

您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦。本文是爬虫专栏的第四篇,重点介绍lxml库与XPath搭配使用解析网页提取网页内容。干货满满,建议收藏,系列文章持续更新。小伙伴们如有问题及... 查看详情

进一步了解xpath(利用xpath爬取飞哥的博客)python爬虫入门进阶(04)(代码片段)

您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦。本文是爬虫专栏的第四篇,重点介绍lxml库与XPath搭配使用解析网页提取网页内容。干货满满,建议收藏,系列文章持续更新。小伙伴们如有问题及... 查看详情

csdn博客园等6大技术博客平台的写作体验测评(代码片段)

...好2.CSDN体验5星,极好3.开源中国OSChina.net体验3星,一般4.博客园cnblogs.com体验1星,极差5.知乎无markdown编辑器,富文本编辑器体验5星,极好6.简书评价5星,极好功能对比csdn博客园知乎简书segmentfault开源中国markdown编辑器√√x√√... 查看详情

python爬虫编程思想:实战案例:抓取博客文章列表

        在上文给出的爬虫案例属于全网爬虫,从理论上说,如果给定的入口点也没包含足够多URL,并且大多数URL都可以导航到其他网站的页面,这个爬虫是可以将整个互联网的页面都抓取下来的。除... 查看详情

python实用爬虫-04-使用beautifulsoup去水印下载csdn博客图片(代码片段)

Python实用爬虫-04-使用BeautifulSoup去水印下载CSDN博客图片其实没太大用,就是方便一些,因为现在各个平台之间的图片都不能共享,比如说在CSDN不能用简书的图片,在博客园不能用CSDN的图片。当前想到的方案就是:先把CSDN上的图... 查看详情

python爬虫学习之正则表达式爬取个人博客(代码片段)

实例需求:运用python语言爬取http://www.eastmountyxz.com/个人博客的基本信息,包括网页标题,网页所有图片的url,网页文章的url、标题以及摘要。实例环境:python3.7      requests库(内置的python库,无需手动安装)     &... 查看详情

python爬虫:利用pdfkitimgkit这两个模块下载csdn上的博客(代码片段)

python爬虫:利用pdfkit、imgkit这两个模块下载CSDN上的博客小编过去一直想把自己收藏的CSDN博客下载下来,这样即使没有网络也能阅读,但是一直苦于一篇博客内容种类繁多,比如除了文字外,还有图片,网... 查看详情

python爬虫selenium框架,入门就看这5道题|python技能树征题(代码片段)

本篇博客主要为https://bbs.csdn.net/skill/python频道练习题模块补充题目,暂定每天提供5or6道测试题,后面可能会更多哦~。本篇博客对【爬虫】→**【Selenium】**进行出题。以下题目,默认将正确答案,放置在选项A位置... 查看详情

擦哥&擦姐的csdn博客原创系列博客清单整理截至2022年9月30日

...CSDN写过的所有专栏清单:文章目录已完结专栏🔥Python爬虫100例教程导航帖(118篇已完结)🔥Python爬虫小课(9篇已完结)滚雪球学Python(15篇已完结)滚雪球学Python第二季(15篇已完结)... 查看详情

擦哥&擦姐的csdn博客原创系列博客清单整理截至2022年9月30日

...CSDN写过的所有专栏清单:文章目录已完结专栏🔥Python爬虫100例教程导航帖(118篇已完结)🔥Python爬虫小课(9篇已完结)滚雪球学Python(15篇已完结)滚雪球学Python第二季(15篇已完结)... 查看详情

python爬虫cookie实战博客,涉及browsercookie与scrapy(代码片段)

本篇博客学习一下scrapy操作Cookiebrowsercookie知识铺垫第一个要了解的知识点是使用browsercookie获取浏览器cookie,该库使用命令pipinstallbrowsercookie安装即可。接下来获取firefox浏览器的cookie,不使用chrome谷歌浏览器的原因是在80... 查看详情

擦哥&擦姐的csdn博客原创系列博客清单整理截至2022年9月30日

...CSDN写过的所有专栏清单:文章目录已完结专栏🔥Python爬虫100例教程导航帖(118篇已完结)🔥Python爬虫小课(9篇已完结)滚雪球学Python(15 查看详情

python爬虫入门教程64-100反爬教科书级别的网站-汽车之家,字体反爬之二(代码片段)

说说这个网站汽车之家,反爬神一般的存在,字体反爬的鼻祖网站,这个网站的开发团队,一定擅长前端吧,2019年4月19日开始写这篇博客,不保证这个代码可以存活到月底,希望后来爬虫coder,继续和汽车之间对抗。CSDN上关于... 查看详情

赞!一篇博客讲解清楚pythonqueue模块,作为python爬虫预备知识,用它解决采集队列问题(代码片段)

...ueue队列相关知识,翻阅了一下同步编写的《滚雪球学Python》专栏,竟然没有相关博客。这就不得不补充一篇,恰好把他放在《Python爬虫120例》中。Queue模块在学习之前,你可以直接打开官方手册对比学习。只要涉... 查看详情