0
点赞
收藏
分享

微信扫一扫

冯·诺依曼架构&哈佛架构(嵌入式学习)

Hyggelook 2023-07-06 阅读 43

文章目录

前言

博主空空star
主页空空star的主页

背景

设计

  1. 获取私信列表;
  2. 提取内容包含‘书’的私信内容;
  3. 从内容中提取url。

开发

1.引入模块

import pprint
import re
import requests

2.获取私信内容

def get_msg(username,usertoken,page):
    url = f'https://msg.csdn.net/v1/im/query/historySession3?page={page}&pageSize=40'
    headers = {
         'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763',
         'Cookie': f'UserName={username}; UserToken={usertoken};'
    }
    res = requests.get(url, headers=headers)
    return res.json()

3.根据文本提取url的方法

def get_urls(text):
    urls = re.findall(r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', text)
    return urls

4.获取包含‘书’的url

def get_about_book(msg):
    about_book_list = []
    datas = msg['data']
    for data in datas:
        if '书' in data['content']:
            username = data['username']
            nickname = data['nickname']
            content = data['content'].replace('\n', '')
            urls = get_urls(content)
            msg_dict = {
                'username': username,
                'nickname': nickname,
                'content': content,
                'urls': urls
            }
            about_book_list.append(msg_dict)
    return about_book_list

5.程序入口

if __name__ == '__main__':
	# 遍历前3页的私信消息
    for page in range(1, 4):
        msg = get_msg('你的username', '你的usertoken', page)
        about_book_list = get_about_book(msg)
        print(f'第{page}页的赠书活动:')
        pprint.pprint(about_book_list)

效果

总结

最后

如果您不知道如何支持我,
InsCode AI列了一些支持博主的句子供您参考:
举报

相关推荐

0 条评论