Python爬虫:利用百度短网址缩短url

December 09, 2023
测试
测试
测试
测试
4 分钟阅读

参考链接: URL 短地址Shorteners及其Python中的API 2

写爬虫程序的时候,会遇到目标网址太长,存入数据库存入不了的情况,这时,我们可以通过百度短网址服务将网址缩短之后再存入 

百度短网址:http://dwz.cn/  百度短网址接口文档:http://dwz.cn/#/apidoc 

以下是python代码 

# -*- coding: utf-8 -*-

# @File    : baidu_short_url.py

# @Date    : 2018-08-24

# @Author  : Peng Shiyu

import requests

def get_short_url(url):

    """

    获取百度短网址

    @param url: {str} 需要转换的网址

    @return: {str} 成功:转换之后的短网址,失败:原网址

    """

    api = "http://dwz.cn/admin/create"

    data = {

        "url": url

    }

    response = requests.post(api, json=data)

    if response.status_code != 200:

        return url

    result = response.json()

    code = result.get("Code")

    if code == 0:

        return result.get("ShortUrl")

    else:

        return url

def get_long_url(dwz_url):

    """

    通过百度短网址获取原网址

    @param dwz_url: {str} 需要查询的网址

    @return: {str} 成功:查询到的原网址网址,失败:短网址

    """

    api = "http://dwz.cn/admin/query"

    data = {

        "shortUrl": dwz_url

    }

    response = requests.post(api, json=data)

    if response.status_code != 200:

        return dwz_url

    result = response.json()

    code = result.get("Code")

    if code == 0:

        return result.get("LongUrl")

    else:

        return dwz_url

if __name__ == '__main__':

    base_url = "https://www.baidu.com/"

    short_url = get_short_url(base_url)

    print(short_url)

    # http://dwz.cn/oHvt1KD7

    long_url = get_long_url(short_url)

    print(long_url)

    # https://www.baidu.com/

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多