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

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

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


百度短网址: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/
相关文章
|
6月前
|
数据采集 Web App开发 数据安全/隐私保护
实战:Python爬虫如何模拟登录与维持会话状态
实战:Python爬虫如何模拟登录与维持会话状态
|
7月前
|
数据采集 Web App开发 自然语言处理
新闻热点一目了然:Python爬虫数据可视化
新闻热点一目了然:Python爬虫数据可视化
|
6月前
|
数据采集 监控 数据库
Python异步编程实战:爬虫案例
🌟 蒋星熠Jaxonic,代码为舟的星际旅人。从回调地狱到async/await协程天堂,亲历Python异步编程演进。分享高性能爬虫、数据库异步操作、限流监控等实战经验,助你驾驭并发,在二进制星河中谱写极客诗篇。
Python异步编程实战:爬虫案例
|
7月前
|
数据采集 存储 XML
Python爬虫技术:从基础到实战的完整教程
最后强调: 父母法律法规限制下进行网络抓取活动; 不得侵犯他人版权隐私利益; 同时也要注意个人安全防止泄露敏感信息.
1001 19
|
6月前
|
数据采集 存储 JSON
Python爬虫常见陷阱:Ajax动态生成内容的URL去重与数据拼接
Python爬虫常见陷阱:Ajax动态生成内容的URL去重与数据拼接
|
6月前
|
数据采集 存储 JavaScript
解析Python爬虫中的Cookies和Session管理
Cookies与Session是Python爬虫中实现状态保持的核心。Cookies由服务器发送、客户端存储,用于标识用户;Session则通过唯一ID在服务端记录会话信息。二者协同实现登录模拟与数据持久化。
|
7月前
|
数据采集 Web App开发 前端开发
处理动态Token:Python爬虫应对AJAX授权请求的策略
处理动态Token:Python爬虫应对AJAX授权请求的策略
|
前端开发 JavaScript
前端JS截取url上的参数
文章介绍了两种前端JS获取URL参数的方法:手动截取封装和使用URLSearchParams。
601 0
|
开发框架 前端开发 .NET
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
357 0
|
Java
JAVA 获取 URL 指定参数的值
JAVA 获取 URL 指定参数的值
277 0

推荐镜像

更多