CSDN文章质量分查询系统【赠python爬虫、提分攻略】

CSDN文章质量分查询系统

https://www.csdn.net/qc

点击链接----->   CSDN文章质量分查询系统     <------点击链接

点击链接----->   https://www.csdn.net/qc     <------点击链接

点击链接----->   CSDN文章质量分查询系统     <------点击链接 

点击链接----->   https://www.csdn.net/qc     <------点击链接

说明:一定要是CSDN站内博文链接

效果举例展示

作者以自己这编文章展示效果

java机器学习计算指标动态阈值-CSDN博客

CSDN个人博客平均质量分查询

内容管理---》数据---》作品数据---》博客数据(默认页签)---》博客统计数据(默认页签)

获取CSDN个人博客链接地址

方式一

文章浏览页面---》复制地址栏的地址

方式二

文章浏览页面(底部)---》分享---》复制链接

Python爬虫应用【爬质量分】

Python爬虫爬csdn个人所有文章质量分

这里以MacOS为例,Windows和Linux类似

安装python3

安装过的跳过,如果有python(python2)也行

brew install python3

安装pip3

安装过的跳过,如果有python(python2)也行

brew install pip3

安装所需的库

  • requests:用于发送HTTP请求
  • MultipartEncoder:用于构造POST请求的请求体
# windows或是没有装homebrew的操作系统可以不带--break-system-packages
pip3 install requests --break-system-packages
pip3 install requests_toolbelt --break-system-packages
pip3 install openpyxl --break-system-packages
pip3 install pandas --break-system-packages

获取所需的请求 URL 和请求标头

第一步:打开目标网页

第二步:使用开发者工具

 

第三步:获取请求 URL 和请求标头

点击负载找到请求参数

第四步:分析请求url,构造参数字典

url = "https://bizapi.csdn.net/blog/phoenix/console/v1/article/list"
参数:
pageSize: 20

第五步:整代码

调整下面的代码(不同时候由于csdn官方可能有更新,地址可能会有调整)

编辑文件:csdnArticleScore.py

# pip3 install pandas --break-system-packages
import json
import pandas as pd
from openpyxl import Workbook, load_workbook
from openpyxl.utils.dataframe import dataframe_to_rows
import math
import requests# 批量获取文章信息并保存到excel
class CSDNArticleExporter:def __init__(self, username, cookies, Referer, page, size, filename):self.username = usernameself.cookies = cookiesself.Referer = Refererself.size = sizeself.filename = filenameself.page = pagedef get_articles(self):url = "https://blog.csdn.net/community/home-api/v1/get-business-list"params = {"page": {self.page},"size": {self.size},"businessType": "blog","username": {self.username}}headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3','Cookie': self.cookies,  # Setting the cookies string directly in headers'Referer': self.Referer}try:response = requests.get(url, params=params, headers=headers)response.raise_for_status()  # Raises an HTTPError if the response status code is 4XX or 5XXdata = response.json()return data.get('data', {}).get('list', [])except requests.exceptions.HTTPError as e:print(f"HTTP错误: {e.response.status_code} {e.response.reason}")except requests.exceptions.RequestException as e:print(f"请求异常: {e}")except json.JSONDecodeError:print("解析JSON失败")return []def export_to_excel(self):df = pd.DataFrame(self.get_articles())df = df[['title', 'url', 'postTime', 'viewCount', 'collectCount', 'diggCount', 'commentCount']]df.columns = ['文章标题', 'URL', '发布时间', '阅读量', '收藏量', '点赞量', '评论量']# df.to_excel(self.filename)# 下面的代码会让excel每列都是合适的列宽,如达到最佳阅读效果# 你只用上面的保存也是可以的# Create a new workbook and select the active sheetwb = Workbook()sheet = wb.active# Write DataFrame to sheetfor r in dataframe_to_rows(df, index=False, header=True):sheet.append(r)# Iterate over the columns and set column width to the max length in each columnfor column in sheet.columns:max_length = 0column = [cell for cell in column]for cell in column:try:if len(str(cell.value)) > max_length:max_length = len(cell.value)except:passadjusted_width = (max_length + 5)sheet.column_dimensions[column[0].column_letter].width = adjusted_width# Save the workbookwb.save(self.filename)class ArticleScores:def __init__(self, filepath):self.filepath = filepath@staticmethoddef get_article_score(article_url):url = "https://bizapi.csdn.net/trends/api/v1/get-article-score"# TODO: Replace with your actual headersheaders = {"Accept": "application/json, text/plain, */*","X-Ca-Key": "203930474","X-Ca-Nonce": "7e4ece49-5b7d-41e0-b548-30972a3e3989","X-Ca-Signature": "mXV5P9OGdBpKyv7v+OfuSmtbN66OwLg3ujL2kwGk5mw=","X-Ca-Signature-Headers": "x-ca-key,x-ca-nonce","X-Ca-Signed-Content-Type": "multipart/form-data",}data = {"url": article_url}try:response = requests.post(url, headers=headers, data=data)response.raise_for_status()  # This will raise an error for bad responsesreturn response.json().get('data', {}).get('score', 'Score not found')except requests.RequestException as e:print(f"Request failed: {e}")return "Error fetching score"def get_scores_from_excel(self):df = pd.read_excel(self.filepath)urls = df['URL'].tolist()scores = [self.get_article_score(url) for url in urls]return scoresdef write_scores_to_excel(self):df = pd.read_excel(self.filepath)df['质量分'] = self.get_scores_from_excel()df.to_excel(self.filepath, index=False)if __name__ == '__main__':total = 10     #已发文章总数量# TODO:调整为你自己的cookies,Referer,CSDNid, headerscookies = 'UN=jjk_02027; fi_id=default; log_Id_pv=******。。。'  # Simplified for brevityReferer = 'https://blog.csdn.net/jjk_02027?type=blog'CSDNid = 'jjk_02027't_index = math.ceil(total/100)+1 #向上取整,半闭半开区间,开区间+1。# 获取文章信息# CSDNArticleExporter("待查询用户名", 2(分页数量,按总文章数量/100所得的分页数),总文章数量仅为设置为全部可见的文章总数。# 100(最大单次查询文章数量不大于100), 'score1.xlsx'(待保存数据的文件,需要和下面的一致))for index in range(1,t_index): #文章总数filename = "score"+str(index)+".xlsx"exporter = CSDNArticleExporter(CSDNid, cookies, Referer, index, 100, filename)  # Replace with your usernameexporter.export_to_excel()# 批量获取质量分score = ArticleScores(filename)score.write_scores_to_excel()

第六步:运行Python爬虫

python3 csdnArticleScore.py  

第七步:查询质量分文件

运行Python爬虫后会在当前目录生成excel文件:

文件示例:

我从事了10多年的java工作,是个python新手,真正被python的强大惊讶到了,从性能、便捷性方面不输java,虽然我用java也写过,性能也相差无几,但是这里还是觉得python更好用~

附件一:Python官网及教程

Python官网     https://www.python.org/

Python3教程   Python3 教程 | 菜鸟教程

附件二:Python抓分常见问题

1、macOS python3安装requests库 报error: externally-managed-environment

使用Homebrew来安装requests库,而不是直接使用pip(跳过,装python库用pip3,非python库才用brew

brew install python-requests

2、macOS pip3安装pipx报error: externally-managed-environment

pip3 install pipx --break-system-packages

3、macOS pip3安装requests报error: externally-managed-environment

pip3 install requests --break-system-packages

附件三:CSDN提高博客质量分攻略

在提高CSDN博客质量分(即提高博客的排名和曝光度)时,有几个关键的策略可以帮助你优化你的内容,从而吸引更多的读者和搜索引擎的关注。以下是一些实用的建议:

1. 内容质量

  • 原创性:确保你的文章是原创的,避免抄袭。

  • 深度和广度:提供有价值的信息,不仅限于表面,而是深入探讨话题。

  • 准确性:确保所有信息都是准确无误的,避免误导读者。

2. 文章结构

  • 清晰的标题:使用吸引人的标题,同时包含关键词。

  • 良好的段落划分:合理使用标题(H2, H3等),使文章结构清晰。

  • 列表和子标题:使用列表和子标题来增强可读性。

3. 关键词优化

  • 关键词研究:使用工具如Google Keyword Planner或SEMrush来找到相关的关键词。

  • 关键词密度:在文章中合理分布关键词,但避免过度堆砌。

  • 元标签优化:优化文章的元描述和关键词标签。

4. 多媒体内容

  • 图片和视频:合理使用图片和视频,增强内容的吸引力。

  • ALT标签:为图片添加描述性的ALT标签,这有助于SEO。

5. 外部链接

  • 高质量链接:提供有价值的外部链接,增加文章的可信度和深度。

  • 内部链接:链接到你的其他相关博客文章,提高页面浏览量和SEO价值。

6. 社交媒体分享

  • 易于分享:在文章中添加社交分享按钮,鼓励读者分享你的内容。

  • 社交媒体互动:在社交媒体上宣传你的文章,增加曝光率。

7. 定期更新和维护

  • 定期更新:保持博客的活跃状态,定期发布新内容。

  • 评论管理:及时回复评论,与读者互动,建立良好的社区氛围。

8. 使用SEO插件和工具

  • 使用SEO插件:如Yoast SEO(对于WordPress用户),它可以帮助你优化内容。

  • 分析工具:使用Google Analytics和Google Search Console来监控你的博客表现,并根据数据进行调整。

9. 用户体验优化

  • 快速加载速度:优化图片和其他媒体文件的大小,确保网站快速加载。

  • 移动友好性:确保你的博客在移动设备上也能良好显示。

通过实施上述策略,你可以显著提高CSDN博客的质量分,从而增加你的博客的访问量和影响力。记住,持续的努力和改进是关键。

总结 

本文讲述:

1、如何查文章质量分

2、如何获取文章链接

3、使用爬虫一次性爬所有文章质量分

4、附CSDN提高博客质量分攻略

小伙伴们,快快点赞、关注、收藏吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/70346.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML应用指南:利用GET请求获取全国泸溪河门店位置信息

随着新零售业态的快速发展,门店位置信息的获取变得越来越重要。作为新兴烘焙品牌之一,泸溪河自2013年在南京创立以来,一直坚持“健康美味,香飘世界”的企业使命,以匠人精神打造新中式糕点。为了更好地理解和利用这些数据,本篇文章将深入探讨GET请求的实际应用,并展示如何…

如何在 React 中测试高阶组件?

在 React 中测试高阶组件可以采用多种策略&#xff0c;以下是常见的测试方法&#xff1a; 1. 测试高阶组件返回的组件 高阶组件本身是一个函数&#xff0c;它返回一个新的组件。因此&#xff0c;可以通过测试这个返回的组件来间接测试高阶组件的功能。通常使用 Jest 作为测试…

R语言Stan贝叶斯空间条件自回归CAR模型分析死亡率多维度数据可视化

全文链接&#xff1a;https://tecdat.cn/?p40424 在空间数据分析领域&#xff0c;准确的模型和有效的工具对于研究人员至关重要。本文为区域数据的贝叶斯模型分析提供了一套完整的工作流程&#xff0c;基于Stan这一先进的贝叶斯建模平台构建&#xff0c;帮助客户为空间分析带来…

Casbin 权限管理介绍及在 Go 语言中的使用入门

引言 在现代软件开发过程中&#xff0c;权限管理是一个至关重要的环节&#xff0c;它关系到系统的安全性和用户体验。Casbin 是一个强大的访问控制库&#xff0c;支持多种访问控制模型&#xff0c;如 ACL&#xff08;访问控制列表&#xff09;、RBAC&#xff08;基于角色的访问…

快速入门——第三方组件element-ui

学习自哔哩哔哩上的“刘老师教编程”&#xff0c;具体学习的网站为&#xff1a;10.第三方组件element-ui_哔哩哔哩_bilibili&#xff0c;以下是看课后做的笔记&#xff0c;仅供参考。 第一节 组件间的传值 组件可以有内部Data提供数据&#xff0c;也可由父组件通过prop方式传…

【算法通关村 Day7】递归与二叉树遍历

递归与二叉树遍历青铜挑战 理解递归 递归算法是指一个方法在其执行过程中调用自身。它通常用于将一个问题分解为更小的子问题&#xff0c;通过重复调用相同的方法来解决这些子问题&#xff0c;直到达到基准情况&#xff08;终止条件&#xff09;。 递归算法通常包括两个主要…

朴素贝叶斯法

文章目录 贝叶斯定理朴素贝叶斯法的学习与分类条件独立假设朴素贝叶斯的后验概率最大化准则朴素贝叶斯的基本公式 朴素贝叶斯法的参数估计极大似然估计 贝叶斯定理 前置知识&#xff1a;条件概率、全概率、贝叶斯公式 推荐视频&#xff0c;看完视频后搜索博客了解先验概率、后…

《A++ 敏捷开发》- 20 从 AI 到最佳设计

“我们现在推行AIGC&#xff0c;服务端不需要UI交互设计的用AI自动产出代码&#xff0c;你建议的结对编程、TDD等是否还适用&#xff1f;” 这两年AI确实很火&#xff0c;是报纸、杂志的热门话题。例如&#xff0c;HBR杂志从2024年9月至2025年二月份3期&#xff0c;里面有接近一…

GO系列-IO 文件操作

os io 判断文件是否存在 func fileExist(filePath string) (bool, error) {_, err : os.Stat(filePath)if err nil {return true, nil}if os.IsNotExist(err) {return false, nil}return false, &CheckFileExistError{filePath} } 读取文件内容 func readFileContext(…

rs485协议、电路详解(保姆级)

起源 RS-485即Recommended Standard 485 协议的简写。1983年被电子工业协会(EIA)批准为一种通讯接口标准. 数据在通信双方之间传输&#xff0c;本质是传输物理的电平&#xff0c;比方说传输5V的电压 -1V的电压信号&#xff0c;这些物理信号在传输过程中会受到很多干扰&#x…

JavaWeb-Tomcat服务器

文章目录 Web服务器存在的意义关于Web服务器软件Tomcat服务器简介安装Tomcat服务器Tomcat服务器源文件解析配置Tomcat的环境变量启动Tomcat服务器一个最简单的webapp(不涉及Java) Web服务器存在的意义 我们之前介绍过Web服务器进行通信的原理, 但是我们当时忘记了一点, 服务器…

【愚公系列】《Python网络爬虫从入门到精通》008-正则表达式基础

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…

视觉分析之边缘检测算法

9.1 Roberts算子 Roberts算子又称为交叉微分算法&#xff0c;是基于交叉差分的梯度算法&#xff0c;通过局部差分计算检测边缘线条。 常用来处理具有陡峭的低噪声图像&#xff0c;当图像边缘接近于正45度或负45度时&#xff0c;该算法处理效果更理想。 其缺点是对边缘的定位…

DuodooBMS源码解读之 sale_change模块

销售变更模块用户使用手册 一、模块概述 本扩展模块主要包含两个主要的 Python 文件&#xff1a;sale_change/report/sale_change_report.py 和 sale_change/wizard/sale_change_download.py&#xff0c;提供了销售变更报表查看和销售变更单下载的功能。以下是详细的使用说明…

OpenCV形态学操作

1.1. 形态学操作介绍 初识&#xff1a; 形态学操作是一种基于图像形状的处理方法&#xff0c;主要用于分析和处理图像中的几何结构。其核心是通过结构元素&#xff08;卷积核&#xff09;对图像进行扫描和操作&#xff0c;从而改变图像的形状和特征。例如&#xff1a; 腐蚀&…

力扣算法-1

力扣算法 1 两数之和 给定一个整数数组nums和一个整数目标值target&#xff0c;请你在数组中找出和为目标值target的那两个整数&#xff0c;返回他们的数组下标。 &#xff08;1&#xff09;暴力枚举 &#xff08;枚举数组每一个数x&#xff0c;再寻找数组中是否存在 targe…

pyside6学习专栏(三):自定义QLabel标签扩展类QLabelEx

标签是界面设计中最常用的控件&#xff0c;本文演示了如何基于PySide6的QLabex控件类扩展定义QLabelEX类&#xff0c;以实现更少的编码完成各种图像、彩色文本、动画的加载和显示&#xff0c;丰富界面显示 本示例演示了QLabel和其扩展类QLabelEx分别显示文本、图像、动画的使用…

从0到1:固件分析

固件分析 0x01 固件提取 1、从厂商官网下载 例如D-link的固件&#xff1a; https://support.dlink.com/resource/products/ 2、代理或镜像设备更新时的流量 发起中间人攻击MITM #启用IP转发功能 echo 1 > /proc/sys/net/ipv4/ip_forward#配置iptables&#xff0c;将目…

使用 Spring Boot 和 Canal 实现 MySQL 数据库同步

文章目录 前言一、背景二、Canal 简介三、主库数据库配置1.主库配置2.创建 Canal 用户并授予权限 四.配置 Canal Server1.Canal Server 配置文件2.启动 Canal Server 五.开发 Spring Boot 客户端1. 引入依赖2. 配置 Canal 客户端3. 实现数据同步逻辑 六.启动并测试七.注意事项八…

Linux系统配置阿里云yum源,安装docker

配置阿里云yum源 需要保证能够访问阿里云网站 可以先ping一下看看&#xff08;阿里云可能禁ping&#xff0c;只要能够解析为正常的ip地址即可&#xff09; ping mirrors.aliyun.com脚本 #!/bin/bash mkdir /etc/yum.repos.d/bak mv /etc/yum.repos.d/*.repo /etc/yum.repos…