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提高博客質量分攻略
小伙伴們,快快點贊、關注、收藏吧~