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/
相关文章
|
2月前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
130 6
|
25天前
|
存储 Java API
在springboot中缩短一个url链接
URL缩短服务是现代应用中常见的需求,用于将长URL映射为简短的唯一代码,便于分享。该服务具备多种功能,如自动过期、访问统计、防止重复及安全机制。通过Spring Boot构建RESTful API,使用H2数据库存储数据,Java UUID生成短码,并通过定时任务清理过期URL。用户可通过API提交长URL获取短链接,查询访问量,系统会自动重定向并记录访问次数。每天午夜自动清理过期URL,确保数据整洁。此项目结构清晰,涵盖实体类、Repository、Service和Controller等核心组件,适合快速开发和扩展。
|
5月前
|
数据采集 存储 搜索推荐
打造个性化网页爬虫:从零开始的Python教程
【8月更文挑战第31天】在数字信息的海洋中,网页爬虫是一艘能够自动搜集网络数据的神奇船只。本文将引导你启航,用Python语言建造属于你自己的网页爬虫。我们将一起探索如何从无到有,一步步构建一个能够抓取、解析并存储网页数据的基础爬虫。文章不仅分享代码,更带你理解背后的逻辑,让你能在遇到问题时自行找到解决方案。无论你是编程新手还是有一定基础的开发者,这篇文章都会为你打开一扇通往数据世界的新窗。
|
3月前
|
数据采集 存储 数据挖掘
深入探索 Python 爬虫:高级技术与实战应用
本文介绍了Python爬虫的高级技术,涵盖并发处理、反爬虫策略(如验证码识别与模拟登录)及数据存储与处理方法。通过asyncio库实现异步爬虫,提升效率;利用tesseract和requests库应对反爬措施;借助SQLAlchemy和pandas进行数据存储与分析。实战部分展示了如何爬取电商网站的商品信息及新闻网站的文章内容。提醒读者在实际应用中需遵守法律法规。
222 66
|
2月前
|
数据采集 Web App开发 JavaScript
爬虫策略规避:Python爬虫的浏览器自动化
爬虫策略规避:Python爬虫的浏览器自动化
|
2月前
|
数据采集 前端开发 中间件
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第26天】Python是一种强大的编程语言,在数据抓取和网络爬虫领域应用广泛。Scrapy作为高效灵活的爬虫框架,为开发者提供了强大的工具集。本文通过实战案例,详细解析Scrapy框架的应用与技巧,并附上示例代码。文章介绍了Scrapy的基本概念、创建项目、编写简单爬虫、高级特性和技巧等内容。
106 4
|
2月前
|
JavaScript 前端开发 索引
JavaScript获取url网址中域名后面的部分
如何截取 url 中网站域名之后的部分,需要用到以下几个方法:
95 3
|
3月前
|
数据采集 JavaScript 前端开发
JavaScript逆向爬虫——使用Python模拟执行JavaScript
JavaScript逆向爬虫——使用Python模拟执行JavaScript
63 2
|
3月前
|
消息中间件 数据采集 数据库
小说爬虫-03 爬取章节的详细内容并保存 将章节URL推送至RabbitMQ Scrapy消费MQ 对数据进行爬取后写入SQLite
小说爬虫-03 爬取章节的详细内容并保存 将章节URL推送至RabbitMQ Scrapy消费MQ 对数据进行爬取后写入SQLite
47 1
|
3月前
url重写重定向所有http网址到https网址
url重写重定向所有http网址到https网址
45 4