前言
大家好,我是空空star,本篇给大家分享一下《通过私信消息提取博主的赠书活动地址》。
背景
设计
- 获取私信列表;
- 提取内容包含‘书’的私信内容;
- 从内容中提取url。
开发
1.引入模块
import pprint
import re
import requests
2.获取私信内容
获取每个用户最新一条私信内容
def get_msg(username,usertoken,page):
url = fhttps://msg..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: fUserName={
username}; UserToken={
usertoken};
}
res = requests.get(url, headers=headers)
return res.json()
3.根据文本提取url的方法
def get_urls(text):
urls = re.findall(rhttp[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(
, )
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列了一些支持博主的句子供您参考:
博主写的文章很有深度,收获了很多知识。 博主的写作风格幽默风趣。 博主勇于分享自己的经验和教训,让初学者从中受益匪浅。 博主的思想独到,文章读起来让人格外振奋。 博主为人很好,乐于助人,回复读者的问题也非常及时。 博主的专业知识非常全面,无论是哪个领域的问题都能给出详细的解答。