python加密生成百度搜索结果URL地址

Python与SEO 投稿&转载 795浏览

百度搜索结果都是加密过的,比如:

baidu.com/link?url=a3f48d30fc293c5e471ef23de092fddc99e8cd902143baf828cbc787e08f0e3f3c49a8f7

以下就是用python实现加密的方法,此方法的缺点是无法加密https的链接,算是比较老的算法,但是仍然可以用(常被seo人士用于shua排名等领域)。

import os
ascii = [
 [
  ' ', '!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.', '/'],
 [
  '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?'],
 [
  '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O'],
 [
  'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', '^', '_'],
 [
  '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o'],
 [
  'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~', ' ']]
data = [
 [
  13, 10],
 [
  10, 1],
 [
  16, 15],
 [
  7, 6],
 [
  5, 13],
 [
  18, 9],
 [
  13, 11],
 [
  7, 12],
 [
  10, 5],
 [
  15, 9],
 [
  15, 9],
 [
  13, 5],
 [
  16, 11],
 [
  0, 1],
 [
  8, 2],
 [
  8, 5],
 [
  0, 0],
 [
  17, 15],
 [
  14, 8],
 [
  2, 1],
 [
  10, 5],
 [
  17, 14],
 [
  16, 5],
 [
  3, 8],
 [
  14, 9],
 [
  5, 8],
 [
  15, 1],
 [
  3, 15],
 [
  13, 10],
 [
  10, 12],
 [
  5, 7],
 [
  0, 2],
 [
  18, 14],
 [
  0, 15],
 [
  1, 6],
 [
  13, 5],
 [
  2, 1],
 [
  15, 14],
 [
  18, 8],
 [
  18, 9],
 [
  1, 10],
 [
  14, 14],
 [
  13, 2],
 [
  5, 3],
 [
  5, 8],
 [
  0, 4],
 [
  1, 5],
 [
  16, 1],
 [
  8, 1],
 [
  2, 5],
 [
  10, 7],
 [
  10, 15],
 [
  14, 14],
 [
  17, 3],
 [
  15, 0],
 [
  14, 5],
 [
  7, 7],
 [
  3, 4],
 [
  14, 8],
 [
  12, 0],
 [
  13, 12],
 [
  12, 3],
 [
  6, 5],
 [
  3, 1],
 [
  1, 14],
 [
  5, 4],
 [
  0, 12],
 [
  7, 0],
 [
  10, 7],
 [
  15, 12],
 [
  8, 2],
 [
  18, 15],
 [
  3, 12],
 [
  1, 12],
 [
  0, 15],
 [
  17, 4],
 [
  17, 2],
 [
  11, 1],
 [
  3, 12],
 [
  11, 5],
 [
  0, 13],
 [
  1, 1],
 [
  2, 12]]
y = [
 '0123456789abcdef',
 '1032547698badcfe',
 '23016745ab89efcd',
 '32107654ba98fedc',
 '45670123cdef89ab',
 '54761032dcfe98ba',
 '67452301efcdab89',
 '76543210fedcba98',
 '89abcdef01234567',
 '98badcfe10325476',
 'ab89efcd23016745',
 'ba98fedc32107654',
 'cdef89ab45670123',
 'dcfe98ba54761032',
 'efcdab8967452301',
 'fedcba9876543210']
x = [
 '016745',
 '107654',
 '234567',
 '321076',
 '325476',
 '452301',
 '543210',
 '670123',
 '765432',
 '761032',
 '89abcd',
 '89efcd',
 '98fedc',
 'abcdef',
 'badcfe',
 'cdab89',
 'dcba98',
 'ef89ab',
 'fe98ba']
 
def encode_url(url):
    print(url)
    url_re = ''
    mi = ''
    for i, ch in enumerate(url):
 
        f_real_x = None
        f_real_y = None
        for real_x, real_y_chs in enumerate(ascii):
            for real_y, real_y_ch in enumerate(real_y_chs):
                if real_y_ch == ch:
                    f_real_x = real_x
                    f_real_y = real_y
 
        if f_real_y is not None and f_real_x is not None:
            this_data_x = x[data[i][0]]
            encode_x = this_data_x[f_real_x]
            mi = mi + encode_x
            this_data_y = y[data[i][1]]
            encode_y = this_data_y[f_real_y]
            mi = mi + encode_y
 
    return 'http://www.baidu.com/link?url=a3f48d30fc293c5e471ef23de092fddc99' + mi
 
 
if __name__ == '__main__':
    t = encode_url("blog.csdn.net/miigo");
    print(t)

python执行结果

blog.csdn.net/miigo
http://www.baidu.com/link?url=a3f48d30fc293c5e471ef23de092fddc99e8cd902143baf828cbc787e08f0e3f3c49a8f7

访问网址即可正常跳转。

另外,如何获取加密之后的真实地址就简单多了,直接http访问加密后的地址,获取返回头部里的301跳转地址就行了。

推荐阅读

百度网盘最新不限速下载软件:爱奇艺万能联播

百度网盘的下载速度一直广受诟病。之前有过不限速下载的软件,但是因为平时很少用网盘,软件需要更新,无法使用。最近发现了一个官方的退出加速方法,就是爱奇艺万能网播使用网盘下载功能。下载并安装爱奇艺万能联播,并打开。登录到您的百度云帐户。选择你要下载的文件......

百度自动推送php实现代码

我们知道主动推送有助于搜索引擎抓取和收录网站内容,wordpress或者主流CMS其实已经集成了推送功能。但是如果我们要定期归还,而不是只在发布的时候推一次。这个功能可以通过结合PHP和Pagoda Panel的预定任务来实现。$api = '百度站......

{“error_code”:110,”error_msg”:”Access token invalid or no longer valid”}错误

百度开放平台应用界面出现错误{"error _ code": 110," error _ msg ":"访问令牌无效或不再有效" }。一般表示令牌无效,那么如何解决呢?Access_token:访问令牌;得到;Expires _ in:访问令牌的有效......