【python爬虫应用03】csdn个人所有文章质量分查询

这篇具有很好参考价值的文章主要介绍了【python爬虫应用03】csdn个人所有文章质量分查询。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🛠️ 环境准备

在开始编写代码之前,我们需要进行一些环境准备。以下是所需的环境和库:

  • 操作系统:Windows
  • 编程语言:Python 3
  • 编辑器:VSCode(可选)

安装所需的库:

  • requests:用于发送HTTP请求
  • MultipartEncoder:用于构造POST请求的请求体

可以使用以下命令在命令行中安装这些库:

pip install requests
pip install requests_toolbelt

请确保已经正确安装了Python 3,并且在编写代码之前设置了Python 3的环境变量。

🎯 分析目标数据

在进行爬取之前,首先需要打开目标网页并使用浏览器的开发者工具,以获取所需的请求 URL 和请求标头。

第一步:打开目标网页

【python爬虫应用03】csdn个人所有文章质量分查询

第二步:使用开发者工具

按下键盘上的F12键,打开浏览器的开发者工具。然后点击"Network"选项卡,这将显示浏览器发送的网络请求。

【python爬虫应用03】csdn个人所有文章质量分查询

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

在开发者工具中,可以看到所有的网络请求。找到目标请求,并点击查看其详情。

在请求详情中,我们可以找到标头,查看请求的URL和请求标头。这些信息将在后续的代码编写中使用。

【python爬虫应用03】csdn个人所有文章质量分查询

点击负载找到请求参数

【python爬虫应用03】csdn个人所有文章质量分查询

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

根据以上信息可以得到,请求url是由两部分构成,

url = "https://blog.csdn.net/community/home-api/v1/get-business-list"
参数:
page: 2
size: 20
businessType: lately
noMore: false
username: mingfeng4923

🐍 获取所有文章代码编写

⭐️ 获取单页的文章列表

✅首先,需要导入所需的库:

import requests
from requests_toolbelt import MultipartEncoder

✅接下来,将发送GET请求并获取数据内容:

url = 'urls = "https://blog.csdn.net/community/home-api/v1/get-business-list"'
# 使用了常见的浏览器User-Agent来模拟浏览器请求
headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0"
    }
    lb_params = {
        "page": 1,
        "size": "20",
        "businessType": "blog",
        "orderby": "",
        "noMore": "false",
        "year": "",
        "month": "",
        "username": "mingfeng4923",
    }

res = requests.get(url=urls, headers=headers, params=lb_params)

✅使用json方法处理数据,并读取文章列表信息,文章信息在data>list下

【python爬虫应用03】csdn个人所有文章质量分查询

data_list = res.json()["data"]["list"]

✅遍历列表输出文章链接和文章标题

for data in data_list:
    print(data["url"],data["title"])

✅结果:
【python爬虫应用03】csdn个人所有文章质量分查询

⭐️ 获取所有页的文章

修改页码,循环发送GET请求获取文章列表信息,直到返回的列表为空停止循环。

要获取所有文章信息,我们需要对请求的URL进行修改。URL中的参数page代表当前页码,我们可以通过修改该参数的值来获取不同页的文章列表。

🫸 首先,我们定义一个函数get_post_list_urls,该函数用于发送GET请求获取文章列表信息。

def get_post_list_urls(page, username):
    # 构造请求URL和请求参数
    url = "https://blog.csdn.net/community/home-api/v1/get-business-list"
    params = {
        "page": page,
        "size": "20",
        "businessType": "blog",
        "orderby": "",
        "noMore": "false",
        "year": "",
        "month": "",
        "username": username,
    }
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0"
    }

    try:
        # 发送GET请求
        response = requests.get(url=url, headers=headers, params=params)
        # 解析响应数据
        data_list = response.json()["data"]["list"]
        return data_list
    except Exception as e:
        print(f"获取文章列表失败:{e}")
        return []

🫸 然后,我们可以使用该函数来获取所有文章的信息。

res = []  # 存储所有文章信息的列表
page = 1  # 初始页码

# 循环获取文章列表信息
while True:
    data_list = get_post_list_urls(page, UserName)
    page += 1
    if data_list:
        res.extend(data_list)
    else:
        break

输出查看一下结果

# 遍历输出文章链接和标题
COUNT = len(res)
for data in res:
    print(data["url"],data["title"])
print(f"[+] [{COUNT}篇]")

【python爬虫应用03】csdn个人所有文章质量分查询

📑 CSDN质量分查询

接下来是对博文质量分数的查询。首先打开目标网页并使用浏览器的开发者工具。然后复制粘贴要查询的文章链接,点击查询按钮。在开发者工具中查看请求的请求 URL 和请求标头,注意这次要用POST方法进行请求。构造查询函数,使用requests库发送POST请求获取博文的质量分数。

要查询博文的质量分数,我们需要先打开目标网页并使用浏览器的开发者工具,以查看请求的URL和请求标头。

第一步:打开目标网页

在浏览器中打开目标网页。

目标链接:https://www.csdn.net/qc
【python爬虫应用03】csdn个人所有文章质量分查询

第二步:使用开发者工具

按下键盘上的F12键,打开浏览器的开发者工具。然后复制要查询的文章链接,点击查询。

【python爬虫应用03】csdn个人所有文章质量分查询

在开发者工具中就可以查询到文章的信息。

【python爬虫应用03】csdn个人所有文章质量分查询

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

在开发者工具中,可以看到所有的网络请求。找到目标请求,并点击查看其详情。

在请求详情中,我们可以找到标头,查看请求的URL和请求标头。这些信息将在后续的代码编写中使用。

【python爬虫应用03】csdn个人所有文章质量分查询
【python爬虫应用03】csdn个人所有文章质量分查询

根据以上信息可以得到,请求url和参数信息,使用的是post方法

请求url : https://bizapi.csdn.net/trends/api/v1/get-article-score
参数:url: https://blog.csdn.net/mingfeng4923/article/details/131423637
第四步:构造查询函数

在Python中,我们可以定义一个函数get_quality_score,用于发送POST请求获取博文的质量分数。

def get_quality_score(article_url):
    # 构造请求URL和请求体
    url = "https://bizapi.csdn.net/trends/api/v1/get-article-score"
    params = {"url":article_url}
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0",
        "Content-Type": "application/json",
    }

    try:
        # 发送POST请求
        response = requests.post(url=url, headers=headers,  params=params, timeout=10,)
        # 解析响应数据
        score = response.json()["data"]["score"]
        return score
    except Exception as e:
        print(f"获取质量分数失败:{e}")
        return None

报错401解决方法

这样直接访问就会出错,status_code 结果是401

【python爬虫应用03】csdn个人所有文章质量分查询

这里需要使用requests_toolbelt库中的MultipartEncoder方法:

from requests_toolbelt import MultipartEncoder
...
params = MultipartEncoder({"url": article_url})
headers['Content-Type'] = params.content_type # 修改Content-Type
res = requests.post(
            url,
            headers=headers,
            data=params,  # 使用data
            timeout=10,
        )

【python爬虫应用03】csdn个人所有文章质量分查询

status_code返回200,正常访问

返回数据:

code: 200
data: {
		article_id: "131423637"
		message: "文章质量良好"
		nickname: "mingfeng4923"
		post_time: "2023-06-27 19:15:12"
		score: 92
		title: "Python爬虫:Scrapy框架"
		username: "mingfeng4923"
	}
message: "success"

【python爬虫应用03】csdn个人所有文章质量分查询

第五步:循环查询质量分

【python爬虫应用03】csdn个人所有文章质量分查询

🌖完整代码

整合以上步骤,使用Python编写完整代码。首先获取文章列表链接,然后遍历列表获取每篇文章的质量分数。输出文章链接和质量分数。

# CSDN个人博文质量查询
import requests
from requests_toolbelt import MultipartEncoder

UserName = "mingfeng4923"
# 获取文章列表
def get_post_list_urls(page, username):
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0"
    }
    lb_params = {
        "page": page,
        "size": "20",
        "businessType": "blog",
        "orderby": "",
        "noMore": "false",
        "year": "",
        "month": "",
        "username": username,
    }
    urls = "https://blog.csdn.net/community/home-api/v1/get-business-list"
    try:
        res = requests.get(url=urls, headers=headers, params=lb_params)
        # print(res.status_code)
        data_list = res.json()["data"]["list"]
        return data_list
    except Exception as e:
        print(f"[+] [ending] [{e}]")
        return 0

# 查询质量分数
def get_sorce(article_url):
    url = "https://bizapi.csdn.net/trends/api/v1/get-article-score"

    headers = {
    	# headers 
    }
    params = MultipartEncoder({"url": article_url})
    headers["Content-Type"] = params.content_type
    try:
        res = requests.post(
            url,
            headers=headers,
            data=params,
            timeout=10,
        )
        # print(f"[+] [{article_url}] [{res.status_code}] ")
        sorce = res.json()["data"]["score"]
        # print(sorce)
        return sorce
    except Exception as e:
        print(f"[+] [分数获取失败] [{article_url}] [{res.status_code}] [{e}]")
        return 0

UserName = 'mingfeng4923'
res = []
page = 1
while True:
    data_list = get_post_list_urls(page, UserName)
    page += 1
    if data_list == 0 or len(data_list) == 0:
        break
    else:
        res += data_list
for data in res:
    article_url = data["url"]
    print(article_url,get_sorce(article_url))

通过以上代码,我们可以获取指定CSDN用户的所有文章链接,并查询每篇文章的质量分数。这对于分析文章的质量和影响力非常有用。你可以根据自己的需求对代码进行进一步的修改和扩展。

Happy coding!🎉文章来源地址https://www.toymoban.com/news/detail-515250.html

到了这里,关于【python爬虫应用03】csdn个人所有文章质量分查询的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 03 SpringBoot实战 -微头条之首页门户模块(跳转某页面自动展示所有信息+根据hid查询文章全文并用乐观锁修改阅读量)

    需求描述: 进入新闻首页portal/findAllType, 自动返回所有栏目名称和id 接口描述 url地址:portal/findAllTypes 请求方式:get 请求参数:无 响应数据: 成功 代码编写 PortalController : TypeService: TypeServiceImpl: 达到的效果是,不需要任何参数, 只要访问portal/findAllType, 就返回news_type表中的所有

    2024年01月24日
    浏览(27)
  • python爬虫—selenium获取csdn质量分并用echarts可视化分析

    大家好,我是yma16,本文分享关于python自动化获取个人博客质量分并可视化。 该系列文章: python爬虫_基本数据类型 python爬虫_函数的使用 python爬虫_requests的使用

    2024年02月11日
    浏览(35)
  • 【Python】所有文章传送门(持续更新...)

    Python 教程 【人生苦短,我学 Python】(1)初识 Python 【人生苦短,我学 Python】(2)Python 语言基础 【人生苦短,我学 Python】(3)Python 常用内置数据类型 I —— 数值数据类型(int、float、complex、bool) 【人生苦短,我学 Python】(4)Python 常用内置数据类型 II —— 序列数据类

    2024年02月20日
    浏览(34)
  • 通过Python+Selenium获取我的所有文章质量分

    大家好,我是空空star,本篇给大家分享一下 《通过Python+Selenium获取我的所有文章质量分》 。 目前在质量分查询界面只能一篇文章一篇文章查,如果我们想快速知道我们哪些文章质量分不是高质量,手动一篇一篇查太慢,借助Selenium代替手动,快速查出我们所有文章的质量分

    2024年02月16日
    浏览(26)
  • python爬虫03-request库使用02

    目录 ​​​​​​1、requests库使用的通用框架: 2、requests下载图片 3、发送get / post 请求传递参数:  4、requests库下载视频,并显示进度 5、requests.session进行登录保持 5.1 requests.session的作用和使用场景 5.2 使用方法 基础链接 : 01-python-request库使用01 1、requests库使用的通用框

    2024年01月21日
    浏览(29)
  • Python爬虫 | 一文解决文章付费限制问题

    本篇文章主要介绍利用 Python爬虫爬取付费文章 ,适合练习爬虫基础同学,文中描述和代码示例很详细,干货满满,感兴趣的小伙伴快来一起学习吧! ☀️大家好!我是新人小白博主朦胧的雨梦,希望大家多多关照和支持😝😝😝 🌖大家一起努力,共同成长,相信我们都会

    2024年02月03日
    浏览(27)
  • csdn文章markdown格式下载

            网上下载CSDN文章的方式多种多样,有的直接下载为pdf格式,有的利用python/java代码将文章下载为md格式,也有的用JavaScript下载文章,但下载的文章仅限于自己写的(后面会介绍),这里也提供一种简单且易懂的下载文章的方式供读者使用(无需下载任何软件/任何

    2024年02月06日
    浏览(29)
  • python爬虫_selenuim登录个人markdown博客站点

    大家好,我是yma16,本文分享python使用selenuim登录个人markdown博客站点。 该系列文章: python爬虫_基本数据类型 python爬虫_函数的使用 python爬虫_requests的使用 python爬虫_selenuim可视化质量分 python爬虫_django+vue3可视化csdn用户质量分 python爬虫_正则表达式获取天气预报并用echarts折线

    2024年02月16日
    浏览(35)
  • 如何在CSDN上转发别人的文章

    很多小伙伴可能跟我一样,看到一些优秀发文章或内容,想转发到自己的CSDN账号上,但是在CSDN上找了半天没找到CSDN转发的功能。鉴于我成功转发文章到CSDN上后,网上关于转发文章到CSDN的教程写的比较简单,我整理了一份比较详细的教程,供大家参考。 首先找到我们需要转

    2024年02月03日
    浏览(21)
  • csdn文章编辑器必备语法备用

    本文是为了记录csdn文章编辑器的必备语法,为写作小白提供更详细的写作规范技巧 csdn的质量分查询地址:质量分查询 这里的跳转链接,可以使用ctrl+shift +L 来输入链接 亦可以使用 链接: link. 🚀🚀🚀 💓 知识最重要的是记忆 💓入门须知: 想要人生从容,必须全力以赴,努

    2024年02月14日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包