Skip to content

接口列表

注意

🟢代表已经实现,🟡代表正在实现或修改,🟤代表暂时不实现,🔵代表未来可能实现,🔴代表将会弃用。

handler接口列表
CLI接口方法
下载单个微博handle_one_weibo
下载用户微博handle_user_weibo
数据方法接口方法开发者接口
创建用户记录与目录get_or_add_user_data🟢
获取用户信息(uid)fetch_user_info🟢
获取用户信息(昵称)fetch_user_info_by_screen_name🟢
获取用户详情fetch_user_detail🟢
提取微博用户idextract_weibo_uid🟢
单个微博数据fetch_one_weibo🟢
用户微博数据fetch_user_weibo🟢
utils接口列表
工具类接口类名方法状态
管理客户端配置ClientConfManager🟢
生成访客 CookieVisitorManagergen_visitor🟢
提取微博 IDWeiboIdFetcherget_weibo_id🟢
提取列表微博 IDWeiboIdFetcherget_all_weibo_id🟢
提取微博用户 IDWeiboUidFetcherget_weibo_uid🟢
提取列表微博用户 IDWeiboUidFetcherget_all_weibo_uid🟢
提取微博用户昵称WeiboScreenNameFetcherget_weibo_screen_name🟢
提取列表微博用户昵称WeiboScreenNameFetcherget_all_weibo_screen_name🟢
全局格式化文件名-format_file_name🟢
创建用户目录-create_user_folder🟢
重命名用户目录-rename_user_folder🟢
创建或重命名用户目录-create_or_rename_user_folder🟢
提取微博文案-extract_desc🟢
crawler接口列表
爬虫url接口类名方法状态
用户信息接口WeiboCrawlerfetch_user_info🟢
用户详情接口WeiboCrawlerfetch_user_detail🟢
用户微博接口WeiboCrawlerfetch_user_weibo🟢
单条微博接口WeiboCrawlerfetch_weibo_detail🟢
dl接口列表
下载器接口类名方法状态
创建下载任务WeiboDownloadercreate_download_task🟢
处理下载任务WeiboDownloaderhandler_download🟢
下载文案WeiboDownloaderdownload_desc🟢
下载视频WeiboDownloaderdownload_video🟢
下载图集WeiboDownloaderdownload_images🟢

💡 提示

  • 翻页参数都包含在上一次请求的数据中,通过内置的 filter 过滤器可以很方便的获取。
  • 所有包含翻页参数的接口均使用异步生成器方法,需要通过 async for 进行迭代,便于自动处理翻页。
  • max_counts 设置为 None 或不传入时,将会获取所有的微博数据。
  • 在一些后端框架 FastAPIFlaskDjango 中可以方便的集成等。
  • 使用登录的 cookie 可以无视该账号的私密设置。

handler接口列表

创建用户记录与目录 🟢

异步方法,用于获取或创建用户数据同时创建用户目录。

参数类型说明
kwargsdictcli字典数据,需获取path参数
user_idstr用户ID
dbAsyncUserDB用户数据库
返回类型说明
user_pathPath用户目录路径对象
py
import asyncio
from f2.apps.weibo.handler import WeiboHandler
from f2.apps.weibo.db import AsyncUserDB
from f2.log.logger import logger


kwargs = {
    "headers": {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0",
        "Referer": "https://www.weibo.com/",
    },
    "proxies": {"http://": None, "https://": None},
    "cookie": "YOUR_COOKIE_HERE",
    "path": "Download",
    # "mode": "post",
}


async def main():
    async with AsyncUserDB("weibo_users.db") as audb:
        uid = "6524978930"
        logger.info(
            await WeiboHandler(kwargs).get_or_add_user_data(
                kwargs=kwargs, uid=uid, db=audb
            )
        )


if __name__ == "__main__":
    asyncio.run(main())

💡 提示

  • 此为 cli 模式的接口,开发者可自行定义创建用户目录的功能。
  • 不设置 mode 参数时,默认为 PLEASE_SETUP_MODE 目录。

获取用户信息(uid) 🟢

异步方法,用于获取指定用户的信息。

参数类型说明
uidstr用户ID
返回类型说明
UserInfoFilterJsonModel用户信息过滤器,包含用户信息的_to_raw、_to_dict方法
py
import asyncio
from f2.apps.weibo.handler import WeiboHandler
from f2.log.logger import logger


kwargs = {
    "headers": {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0",
        "Referer": "https://www.weibo.com/",
    },
    "proxies": {"http://": None, "https://": None},
    "cookie": "YOUR_COOKIE_HERE",
}


async def main():
    user = await WeiboHandler(kwargs).fetch_user_info(uid="2265830070")
    # logger.info(
    #     f"微博用户ID: {user.uid}, 昵称: {user.nickname}, 性别: {user.gender}, 地区: {user.location}, 关注数: {user.friends_count}, 粉丝数: {user.followers_count}, 微博数: {user.weibo_count}, 个人主页: {user.profile_url}"
    # )
    logger.info("=================_to_raw================")
    logger.info(user._to_raw())
    # logger.info("=================_to_dict===============")
    # logger.info(user._to_dict())


if __name__ == "__main__":
    asyncio.run(main())

获取用户信息(昵称) 🟢

异步方法,通过用户昵称获取用户信息。

参数类型说明
screen_namestr用户昵称
返回类型说明
UserInfoFilterJsonModel用户信息过滤器,包含用户信息的_to_raw、_to_dict方法
py
import asyncio
from f2.apps.weibo.handler import WeiboHandler
from f2.log.logger import logger


kwargs = {
    "headers": {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0",
        "Referer": "https://www.weibo.com/",
    },
    "proxies": {"http://": None, "https://": None},
    "cookie": "YOUR_COOKIE_HERE",
}


async def main():
    user = await WeiboHandler(kwargs).fetch_user_info_by_screen_name(
        screen_name="阿里多多酱"
    )
    # logger.info(
    #     f"微博用户ID: {user.uid}, 昵称: {user.nickname}, 性别: {user.gender}, 地区: {user.location}, 关注数: {user.friends_count}, 粉丝数: {user.followers_count}, 微博数: {user.weibo_count}, 个人主页: {user.profile_url}"
    # )
    logger.info("=================_to_raw================")
    logger.info(user._to_raw())
    # logger.info("=================_to_dict===============")
    # logger.info(user._to_dict())


if __name__ == "__main__":
    asyncio.run(main())

获取用户详情 🟢

异步方法,用于获取指定用户的详细信息。

参数类型说明
uidstr用户ID
返回类型说明
UserDetailFilterJsonModel用户详细信息过滤器,包含用户详细信息的_to_raw、_to_dict方法
py
import asyncio
from f2.apps.weibo.handler import WeiboHandler
from f2.log.logger import logger


kwargs = {
    "headers": {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0",
        "Referer": "https://www.weibo.com/",
    },
    "proxies": {"http://": None, "https://": None},
    "cookie": "YOUR_COOKIE_HERE",
}


async def main():
    user = await WeiboHandler(kwargs).fetch_user_detail(uid="2265830070")
    # logger.info(
    #     f"用户ID: {uid}, 生日: {user.birthday}, 性别: {user.gender}, 地区: {user.location}, 个性签名: {user.description_raw}, 注册时间: {user.create_at}, 视频播放次数: {user.video_play_count}"
    # )
    logger.info("=================_to_raw================")
    logger.info(user._to_raw())
    # logger.info("=================_to_dict===============")
    # logger.info(user._to_dict())


if __name__ == "__main__":
    asyncio.run(main())

提取微博用户id 🟢

异步方法,用于从微博链接中提取并返回用户ID。

参数类型说明
urlstr微博链接
返回类型说明
uidstr用户ID
py
import asyncio
from f2.apps.weibo.handler import WeiboHandler
from f2.log.logger import logger

kwargs = {
    "headers": {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0",
        "Referer": "https://www.weibo.com/",
    },
    "proxies": {"http://": None, "https://": None},
}


async def main():
    uid = await WeiboHandler(kwargs).extract_weibo_uid(
        url="https://weibo.com/u/2265830070"
    )
    logger.info(f"微博用户ID: {uid}")


if __name__ == "__main__":
    asyncio.run(main())

单个微博数据 🟢

异步方法,用于获取单条微博的数据。

参数类型说明
weibo_idstr微博ID
返回类型说明
WeiboDetailFilterJsonModel微博详细信息过滤器,包含微博详细信息的_to_raw、_to_dict方法
py
import asyncio
from f2.apps.weibo.handler import WeiboHandler
from f2.log.logger import logger


kwargs = {
    "headers": {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0",
        "Referer": "https://www.weibo.com/",
    },
    "proxies": {"http://": None, "https://": None},
    "cookie": "YOUR_COOKIE_HERE",
}


async def main():
    weibo = await WeiboHandler(kwargs).fetch_one_weibo(weibo_id="O8DM0BLLm")
    # logger.info(
    #     f"微博ID: {weibo.weibo_id}, 微博文案: {weibo.desc}, 作者昵称: {weibo.nickname}, 发布时间: {weibo.weibo_created_at}"
    # )
    logger.info("=================_to_raw================")
    logger.info(weibo._to_raw())
    # logger.info("=================_to_dict===============")
    # logger.info(weibo._to_dict())


if __name__ == "__main__":
    asyncio.run(main())

用户微博数据 🟢

异步方法,用于获取用户微博数据。

参数类型说明
uidstr用户ID
pageint页数
featureint微博类型
since_idstr起始微博ID
max_countsint最大微博数
返回类型说明
UserWeiboFilterJsonModel用户微博信息过滤器,包含用户微博信息的_to_raw、_to_dict方法
py
import asyncio
from f2.apps.weibo.handler import WeiboHandler
from f2.log.logger import logger


kwargs = {
    "headers": {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0",
        "Referer": "https://www.weibo.com/",
    },
    "proxies": {"http://": None, "https://": None},
    "cookie": "YOUR_COOKIE_HERE",
}


async def main():
    async for weibo_list in WeiboHandler(kwargs).fetch_user_weibo(
        uid="2265830070",
        page=1,
        feature=1,
        since_id="",
        max_counts=20,
    ):
        # logger.info(
        #     f"微博ID: {weibo_list.weibo_id}, 微博文案: {weibo_list.weibo_desc_raw}, 作者昵称: {weibo_list.weibo_user_name_raw}, 发布时间: {weibo_list.weibo_created_at}"
        # )
        logger.info("=================_to_raw================")
        logger.info(weibo_list._to_raw())
        # logger.info("=================_to_dict===============")
        # logger.info(weibo_list._to_dict())
        # logger.info("=================_to_list===============")
        # logger.info(weibo_list._to_list())


if __name__ == "__main__":
    asyncio.run(main())

utils接口列表

管理客户端配置 🟢

类方法,用于管理客户端配置。

参数类型说明
返回类型说明
配置文件值Any配置文件值
py
from f2.apps.weibo.utils import ClientConfManager

if __name__ == "__main__":
    print("Client Configuration:")
    print(ClientConfManager.client())

    print("Client Configuration version:")
    print(ClientConfManager.conf_version())

    print("Client Configuration user-agent:")
    print(ClientConfManager.user_agent())

类方法,用于生成访客 Cookie。

参数类型说明
返回类型说明
visitor_cookiestr访客 Cookie
py
import asyncio
from f2.apps.weibo.utils import VisitorManager
from f2.log.logger import logger


async def main():
    visitor_cookie = await VisitorManager.gen_visitor()
    logger.info(f"visitor_cookie: {visitor_cookie}")


if __name__ == "__main__":
    asyncio.run(main())

提取微博 ID 🟢

类方法,从微博链接中提取微博ID。

参数类型说明
urlstr微博链接
返回类型说明
weibo_idstr微博ID
py
import asyncio
from f2.apps.weibo.utils import WeiboIdFetcher
from f2.log.logger import logger


async def main():
    raw_url = "https://weibo.com/2265830070/O8DM0BLLm"
    return await WeiboIdFetcher.get_weibo_id(raw_url)


if __name__ == "__main__":
    logger.info(asyncio.run(main()))

提取列表微博 ID 🟢

类方法,从微博链接列表中提取微博ID。

参数类型说明
urlsList[str]微博链接列表
返回类型说明
weibo_idsList[str]微博ID列表
py
import asyncio
from f2.apps.weibo.utils import WeiboIdFetcher
from f2.utils.utils import extract_valid_urls
from f2.log.logger import logger


async def main():
    raw_urls = [
        "https://weibo.com/2265830070/O8DM0BLLm",
        "https://weibo.com/2265830070/O8DM0BLLm/",
        "https://weibo.com/2265830070/O8DM0BLLm/aasfasg",
        "https://weibo.com/2265830070/O8DM0BLLm/?test=123",
        "https://weibo.cn/2265830070/O8DM0BLLm/",
        "https://weibo.cn/status/5020595169001740/?test=123",
        "https://www.weibo.com/2265830070/5020595169001740",
    ]

    # 提取有效URL
    urls = extract_valid_urls(raw_urls)

    # 对于URL列表
    return await WeiboIdFetcher.get_all_weibo_id(urls)


if __name__ == "__main__":
    logger.info(asyncio.run(main()))

提取微博用户 ID 🟢

类方法,从微博链接中提取用户ID。

参数类型说明
urlstr微博主页链接
返回类型说明
uidstr用户ID
py
import asyncio
from f2.apps.weibo.utils import WeiboUidFetcher
from f2.log.logger import logger


async def main():
    raw_url = "https://weibo.com/u/2265830070"
    return await WeiboUidFetcher.get_weibo_uid(raw_url)


if __name__ == "__main__":
    logger.info(asyncio.run(main()))

❕ 提示

  • 使数据接口方法里的 extract_weibo_uid 方法可以更全面的处理微博链接,该方法仅适用与非昵称链接的提取。

提取列表微博用户 ID 🟢

类方法,从微博链接列表中提取用户ID。

参数类型说明
urlsList[str]微博主页链接列表
返回类型说明
uidsList[str]用户ID列表
py
import asyncio
from f2.apps.weibo.utils import WeiboUidFetcher
from f2.utils.utils import extract_valid_urls
from f2.log.logger import logger


async def main():
    raw_urls = [
        "https://weibo.com/u/2265830070",
        "https://weibo.com/u/2265830070/",
        "https://weibo.com/u/2265830070/?test=123",
        "https://weibo.com/2265830070",
        "https://weibo.com/2265830070/",
        "https://weibo.com/2265830070/?test=123",
        "https://weibo.com/2265830070/O8DM0BLLm",
        "https://weibo.com/2265830070/O8DM0BLLm/",
        "https://weibo.com/2265830070/O8DM0BLLm/?test=123",
        "https://weibo.com/2265830070/O8DM0BLLm/%$#",
        "https://weibo.com/2265830070/O8DM0BLLm/" + "a" * 2048,
        "https://m.weibo.cn/2265830070/5020595169001740",
        "https://m.weibo.cn/2265830070/5020595169001740?test=123",
        "https://m.weibo.cn/2265830070/5020595169001740/",
        "https://m.weibo.cn/2265830070/5020595169001740/?test=123",
    ]

    # 提取有效URL
    urls = extract_valid_urls(raw_urls)

    # 对于URL列表
    return await WeiboUidFetcher.get_all_weibo_uid(urls)


if __name__ == "__main__":
    logger.info(asyncio.run(main()))

提取微博用户昵称 🟢

类方法,从微博链接中提取用户昵称。

参数类型说明
urlstr微博主页链接
返回类型说明
screen_namestr用户昵称
py
import asyncio
from f2.apps.weibo.utils import WeiboScreenNameFetcher
from f2.log.logger import logger


async def main():
    raw_url = "https://weibo.com/n/自我充电功能丧失"
    return await WeiboScreenNameFetcher.get_weibo_screen_name(raw_url)


if __name__ == "__main__":
    logger.info(asyncio.run(main()))

提取列表微博用户昵称 🟢

类方法,从微博链接列表中提取用户昵称。

参数类型说明
urlsList[str]微博主页链接列表
返回类型说明
screen_namesList[str]用户昵称列表
py
import asyncio
from f2.apps.weibo.utils import WeiboScreenNameFetcher
from f2.utils.utils import extract_valid_urls
from f2.log.logger import logger


async def main():
    raw_urls = [
        "https://weibo.com/n/%E8%87%AA%E6%88%91%E5%85%85%E7%94%B5%E5%8A%9F%E8%83%BD%E4%B8%A7%E5%A4%B1",
        "https://weibo.com/n/%E8%87%AA%E6%88%91%E5%85%85%E7%94%B5%E5%8A%9F%E8%83%BD%E4%B8%A7%E5%A4%B1/",
        "https://weibo.com/n/%E8%87%AA%E6%88%91%E5%85%85%E7%94%B5%E5%8A%9F%E8%83%BD%E4%B8%A7%E5%A4%B1?test=123",
        "https://weibo.com/n/%E8%87%AA%E6%88%91%E5%85%85%E7%94%B5%E5%8A%9F%E8%83%BD%E4%B8%A7%E5%A4%B1/?test=123",
        "https://weibo.com/n/自我充电功能丧失",
        "https://weibo.com/n/自我充电功能丧失/",
        "https://weibo.com/n/自我充电功能丧失?test=123",
        "https://weibo.com/n/自我充电功能丧失/?test=123",
    ]

    # 提取有效URL
    urls = extract_valid_urls(raw_urls)

    # 对于URL列表
    return await WeiboScreenNameFetcher.get_all_weibo_screen_name(urls)


if __name__ == "__main__":
    logger.info(asyncio.run(main()))

ℹ️ 提示

F2 会自动处理编码,无需担心中文字符转义问题。

全局格式化文件名 🟢

根据配置文件的全局格式化文件名。

📄 格式化文件名规则
  • Windows 文件名长度限制为 255 个字符, 开启了长文件名支持后为 32,767 个字符。
  • Unix 文件名长度限制为 255 个字符。
  • 取去除后的 20 个字符, 加上后缀, 一般不会超过 255 个字符。
  • 开发者可以根据自己的需求自定义 custom_fields 字段,实现自定义文件名。
参数类型说明
naming_templatestr文件的命名模板
weibo_datadict作品数据的字典
custom_fieldsdict用户自定义字段, 用于替代默认的字段值
返回类型说明
file_namestr格式化后的文件名
py
import asyncio
from f2.apps.weibo.handler import WeiboHandler
from f2.apps.weibo.utils import format_file_name


async def main():
    # 文件名模板
    kwargs = {
        "headers": {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0",
            "Referer": "https://www.weibo.com/",
        },
        "naming": "{create}_{desc}_{weibo_id}",
        "cookie": "YOUR_COOKIE_HERE",
    }
    # 单作品的数据
    weibo_data = await WeiboHandler(kwargs).fetch_one_weibo(weibo_id="LvFY288c0")
    # 格式化后的文件名
    print(format_file_name(kwargs.get("naming"), weibo_data._to_dict()) + "_weibo")

    # 文件名模板
    kwargs = {
        # ...
        "naming": "{create}_{desc}_{weibo_id}_{location}",
        # ...
    }
    # 用户自定义字段
    custom_fields = {"location": "Guang dong"}
    # 格式化后的自定义文件名
    print(
        format_file_name(kwargs.get("naming"), weibo_data._to_dict(), custom_fields)
        + "_weibo"
    )


if __name__ == "__main__":
    asyncio.run(main())

创建用户目录 🟢

用于创建用户目录,如果目录已存在则不创建。

📂 用户目录结构

如果未在配置文件中指定路径,则默认为 Download。支持绝对与相对路径。

bash
├── Download
   ├── weibo
   ├── post
   ├── user_nickname
   ├── 2023-12-31_23-59-59_desc
   ├── 2023-12-31_23-59-59_desc-video.mp4
   ├── 2023-12-31_23-59-59_desc-desc.txt
   └── 2023-12-31_23-59-59_desc-cover.jpg
   └── ......
   ├── like
   ├── ...
参数类型说明
kwargsdictcli配置文件
nicknameUnion[str, int]用户昵称
返回类型说明
user_pathPath用户目录路径对象
py
from f2.apps.weibo.utils import create_user_folder


kwargs = {
    "headers": {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0",
        "Referer": "https://www.weibo.com/",
    },
    "proxies": {"http": None, "https": None},
    "cookie": "YOUR_COOKIE_HERE",
    "path": "Download",
    "mode": "post",
}


if __name__ == "__main__":
    current_nickname = "New Nickname"
    print(create_user_folder(kwargs, current_nickname))
    # X:\......\Download\weibo\post\New Nickname

重命名用户目录 🟢

用于重命名用户目录。

参数类型说明
old_pathPath旧的用户目录路径对象
new_nicknamestr新的用户昵称
返回类型说明
new_pathPath新的用户目录路径对象
py
import asyncio
from f2.apps.weibo.db import AsyncUserDB
from f2.apps.weibo.utils import rename_user_folder
from f2.apps.weibo.handler import WeiboHandler


kwargs = {
    "headers": {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0",
        "Referer": "https://www.weibo.com/",
    },
    "proxies": {"http://": None, "https://": None},
    "cookie": "YOUR_COOKIE_HERE",
    "path": "Download",
    "mode": "post",
}


async def main():
    uid = "2265830070"
    async with AsyncUserDB("weibo_users.db") as audb:
        local_user_path = await WeiboHandler(kwargs).get_or_add_user_data(
            kwargs, uid, audb
        )
    print(local_user_path)
    # X:\......\Download\weibo\post\阿里多多酱

    current_nickname = "New Nickname"
    new_user_path = rename_user_folder(local_user_path, current_nickname)
    print(new_user_path)
    # X:\......\Download\weibo\post\New Nickname


if __name__ == "__main__":
    asyncio.run(main())

💡 提示

如果目录不存在会先创建该用户目录再重命名。

创建或重命名用户目录 🟢

用于创建或重命名用户目录。为上面2个接口的组合。

参数类型说明
kwargsdictcli配置文件
local_user_datadict本地用户数据
current_nicknamestr当前用户昵称
返回类型说明
user_pathPath用户目录路径对象

ℹ️ 提示

该接口很好的解决了用户改名之后重复创建目录的问题。集成在 handler 接口中。开发者无需关心,直接调用 handler 的数据接口即可。

提取微博文案 🟢

用于提取微博文案,排除最后的链接。

参数类型说明
textstr微博文案
返回类型说明
textstr提取后的微博文案
py
from f2.apps.weibo.utils import extract_desc
from f2.log.logger import logger


def main():
    raw_desc = {
        "超大颗花生汤圆[舔屏] http://t.cn/A6nqzsFe",
        "分享视频 http://t.cn/A6nNyQyS ​​​",
        "香宝宝   http://t.cn/A6mwArY7 ​​​",
        "  总有人类想要变成小猫咪^⌯𖥦⌯^ ੭   http://t.cn/A6n1zhGt ​​​",
        "过来挨踢[亲亲]      http://t.cn/A6ndh6PS ​​​",
        "单独的文案   ",  # 没有链接的情况
        "http://t.cn/A6nqzsFe",  # 只有链接的情况
        "   ",  # 空字符串或空白内容
    }

    for text_raw in raw_desc:
        desc = extract_desc(text_raw)
        logger.info(f"提取结果: {desc}")


if __name__ == "__main__":
    main()

crawler接口列表

用户信息接口 🟢

用于获取用户信息。

参数类型说明
paramsUserInfo户信息接口模型
返回类型说明
_fetch_get_jsondict用户信息数据

用户详情接口 🟢

用于获取用户详情。

参数类型说明
paramsUserDetail用户详情接口模型
返回类型说明
_fetch_get_jsondict用户详情数据

用户微博接口 🟢

用于获取用户微博。

参数类型说明
paramsUserWeibo用户微博接口模型
返回类型说明
_fetch_get_jsondict用户微博数据

单条微博接口 🟢

用于获取单条微博。

参数类型说明
paramsWeiboDetail单条微博接口模型
返回类型说明
_fetch_get_jsondict单条微博数据

dl接口列表

创建下载任务 🟢

处理下载任务 🟢

下载文案 🟢

下载视频🟢

下载图集 🟢

Released under the Apache-2.0 license.