1. 关于今日头条的 as cp 算法,只是对时间进行了加密,他们的js代码是压缩处理的,正常格式化就可以了
  2.  
  3. url = "http://www.toutiao.com/api/pc/feed/"
  4. data = {
  5.  
  6. "category":"news_game",
  7. "utm_source":"toutiao",
  8. "widen":str(i),
  9. "max_behot_time":"",
  10. "max_behot_time_tmp":"",
  11. "tadrequire":"true",
  12. "as":"479BB4B7254C150",
  13. "cp":"7E0AC8874BB0985",
  14. }
  15. headers = {
  16.  
  17. "Host":"www.toutiao.com",
  18. "Connection":"keep-alive",
  19. "Accept":"text/javascript, text/html, application/xml, text/xml, */*",
  20. "X-Requested-With":"XMLHttpRequest",
  21. "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36",
  22. "Content-Type":"application/x-www-form-urlencoded",
  23. "Referer":"http://www.toutiao.com/ch/news_hot/",
  24. "Accept-Encoding":"gzip, deflate",
  25. "Accept-Language":"zh-CN,zh;q=0.8",
  26.  
  27. }
  28.  
  29. result1 = session.get(url=url,params=data,headers=headers).text
  30. result2 =json.loads(result1)

今日头条 as cp算法解析,我们在提交的时候"as":"479BB4B7254C150",   "cp":"7E0AC8874BB0985",就可以了,有兴趣的同学可以去看看他们的js代码,只是简单的对进行了加密

  1. var e = {};
  2. e.getHoney = function() {
  3. var t = Math.floor((new Date).getTime() / 1e3),
  4. e = t.toString(16).toUpperCase(),
  5. n = md5(t).toString().toUpperCase();
  6. if (8 != e.length) return {
  7. as: "479BB4B7254C150",
  8. cp: "7E0AC8874BB0985"
  9. };
  10. for (var o = n.slice(0, 5), i = n.slice(-5), a = "", r = 0; 5 > r; r++) a += o[r] + e[r];
  11. for (var l = "", s = 0; 5 > s; s++) l += e[s + 3] + i[s];
  12. return {
  13. as: "A1" + a + e.slice(-3),
  14. cp: e.slice(0, 3) + l + "E1"
  15. }
  16. }, t.ascp = e
  17. }(window, document), function() {
  18. var t = ascp.getHoney(),
  19. e = {
  20. path: "/",
  21. domain: "i.snssdk.com"
  22. };
  23. $.cookie("cp", t.cp, e), $.cookie("as", t.as, e), window._honey = t
  24. }(), Flow.prototype = {
  25. init: function() {
  26. var t = this;
  27. this.url && (t.showState(t.auto_load ? NETWORKTIPS.LOADING : NETWORKTIPS.HASMORE), this.container.on("scrollBottom", function() {
  28. t.auto_load && (t.lock || t.has_more && t.loadmore())
  29. }), this.list_bottom.on("click", "a", function() {
  30. return t.lock = !1, t.loadmore(), !1
  31. }))
  32. },
  33. loadmore: function(t) {
  34. this.getData(this.url, this.type, this.param, t)
  35. },

as  cp 算法 Python 实现

  1. import time
  2. import hashlib
  3.  
  4. def get_as_cp():
  5. zz ={}
  6. now = round(time.time())
  7. print now #获取计算机时间
  8. e = hex(int(now)).upper()[2:] #hex()转换一个整数对象为十六进制的字符串表示
  9. print e
  10. i = hashlib.md5(str(int(now))).hexdigest().upper() #hashlib.md5().hexdigest()创建hash对象并返回16进制结果
  11. if len(e)!=8:
  12. zz = {'as': "479BB4B7254C150",
  13. 'cp': "7E0AC8874BB0985"}
  14. return zz
  15. n=i[:5]
  16. a=i[-5:]
  17. r = ""
  18. s = ""
  19. for i in range(5):
  20. s = s+n[i]+e[i]
  21. for j in range(5):
  22. r = r+e[j+3]+a[j]
  23. zz = {
  24. 'as': "A1" + s + e[-3:],
  25. 'cp': e[0:3] + r + "E1"
  26. }
  27. print zz
  28.  
  29. if __name__ == "__main__":
  30. get_as_cp()

Python 爬虫实例(3)—— 爬取今日头条as cp 算法 解密的更多相关文章

  1. Python爬虫实例:爬取B站《工作细胞》短评——异步加载信息的爬取

    很多网页的信息都是通过异步加载的,本文就举例讨论下此类网页的抓取. <工作细胞>最近比较火,bilibili 上目前的短评已经有17000多条. 先看分析下页面 右边 li 标签中的就是短 ...

  2. Python爬虫实例:爬取猫眼电影——破解字体反爬

    字体反爬 字体反爬也就是自定义字体反爬,通过调用自定义的字体文件来渲染网页中的文字,而网页中的文字不再是文字,而是相应的字体编码,通过复制或者简单的采集是无法采集到编码后的文字内容的. 现在貌似不少网 ...

  3. Python爬虫实例:爬取豆瓣Top250

    入门第一个爬虫一般都是爬这个,实在是太简单.用了 requests 和 bs4 库. 1.检查网页元素,提取所需要的信息并保存.这个用 bs4 就可以,前面的文章中已经有详细的用法阐述. 2.找到下一 ...

  4. 爬虫—分析Ajax爬取今日头条图片

    以今日头条为例分析Ajax请求抓取网页数据.本次抓取今日头条的街拍关键字对应的图片,并保存到本地 一,分析 打开今日头条主页,在搜索框中输入街拍二字,打开开发者工具,发现浏览器显示的数据不在其源码里面 ...

  5. PYTHON 爬虫笔记九:利用Ajax+正则表达式+BeautifulSoup爬取今日头条街拍图集(实战项目二)

    利用Ajax+正则表达式+BeautifulSoup爬取今日头条街拍图集 目标站点分析 今日头条这类的网站制作,从数据形式,CSS样式都是通过数据接口的样式来决定的,所以它的抓取方法和其他网页的抓取方 ...

  6. 使用scrapy爬虫,爬取今日头条搜索吉林疫苗新闻(scrapy+selenium+PhantomJS)

    这一阵子吉林疫苗案,备受大家关注,索性使用爬虫来爬取今日头条搜索吉林疫苗的新闻 依然使用三件套(scrapy+selenium+PhantomJS)来爬取新闻 以下是搜索页面,得到吉林疫苗的搜索信息, ...

  7. Python爬虫教程-17-ajax爬取实例(豆瓣电影)

    Python爬虫教程-17-ajax爬取实例(豆瓣电影) ajax: 简单的说,就是一段js代码,通过这段代码,可以让页面发送异步的请求,或者向服务器发送一个东西,即和服务器进行交互 对于ajax: ...

  8. 爬虫七之分析Ajax请求并爬取今日头条

    爬取今日头条图片 这里只讨论出现的一些问题,代码在最下面github链接里. 首先,今日头条取消了"图集"这一选项,因此对于爬虫来说效率降低了很多: 在所有代码都完成后,也许是爬取 ...

  9. 使用scrapy爬虫,爬取今日头条首页推荐新闻(scrapy+selenium+PhantomJS)

    爬取今日头条https://www.toutiao.com/首页推荐的新闻,打开网址得到如下界面 查看源代码你会发现 全是js代码,说明今日头条的内容是通过js动态生成的. 用火狐浏览器F12查看得知 ...

随机推荐

  1. mysql -h localhost和mysql -h 127.0.0.1的区别

    今天早上同事说MySQL root账号登录不上了.我试了一下 #mysql -u root -p 提示”Access denied for user ‘root’@’localhost’ (using ...

  2. 前端 fetch 通信

    随着前端异步的发展, XHR 这种耦合方式的书写不利于前端异步的 Promise 回调. 而且,写起来也是很复杂. fetch API 本来是在 SW(ServiceWorkers) 中提出的, 不过 ...

  3. matlab colormap

    This table lists the built-in colormaps functions. Colormap Name Color Scale parula

  4. [Lua]mac 上安装lua

    mac 安装lua google了好个看起来都不怎么好操作.这个是在命令行下操作的非常easy. curl -R -O http://www.lua.org/ftp/lua-5.2.3.tar.gz ...

  5. Andorid之Annotation框架初使用(三)

    线程使用: @Background这个是使用了cached thread pool executor , 阻止开启过多的线程 可以为@Background指定一个id,用于随时终止线程的操作(Back ...

  6. ASP.NET 5 的Roadmap(转)

    这次随 Visual Studio 2015 发布的 ASP.NET 版本是 ASP.NET 4.6 与 ASP.NET 5 beta5.在 VS2015 发布的同时,微软也发布了 ASP.NET 5 ...

  7. iOS:转载:IOS谓词--NSPredicate

    IOS谓词--NSPredicate 分类: IOS应用2013-02-19 17:24 6792人阅读 评论(1) 收藏 举报 Cocoa 提供了NSPredicate 用于指定过滤条件,谓词是指在 ...

  8. go语言基础之普通函数的调用流程

    函数调用流程:先调用后返回,先进后出,函数递归,函数调用自己本分,利用此物点 1.普通函数的调用流程 package main //必须 import "fmt" func fun ...

  9. 解决Vue用Nginx做web服务器报错favicon.ico 404 (Not Found)的问题

    有多种解决方案 1.vue静态资源 vue中为网页增加favicon的最便捷的方式为使用link标签 <link rel="shortcut icon" type=" ...

  10. java学习笔记11--集合总结

    java学习笔记系列: java学习笔记10--泛型总结 java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Ob ...