环境: python 3.5 + win8.1

工具:fiddler postman 逍遥模拟器

首先使用fiddler抓取app数据,打开快手,刷新,可以看到会有很多的http/https请求,找到快手首页数据加载请求。


请求数据格式分析:post请求,header 是dictionary形式,data是字符串形式。(data不可以写成dict方式)

打开psotman测试

form-data方式提交报错

换成raw方式提交,报错信息改变

加上headers

成功返回数据,测试几次,发现返回结果不同,数据不存在重复

import requestsdef getData():url = 'http://apissl.gifshow.com/rest/n/feed/hot?isp=CMCC&mod=HUAWEI(DUK-AL20)&lon=121.492379&country_code=cn&kpf=ANDROID_PHONE&extId=b31ce9a7bacb2f567efe7aff2b7374b2&did=ANDROID_066f7438a673e208&kpn=KUAISHOU&net=WIFI&app=0&oc=XIAOMI&ud=561252472&hotfix_ver=&c=XIAOMI&sys=ANDROID_5.1.1&appver=6.6.6.10150&ftt=&language=zh-cn&iuid=&lat=31.247192&did_gt=1585204347787&ver=6.6&max_memory=192'data = 'type=7&page=1&coldStart=true&count=10&pv=false&id=27&refreshTimes=0&pcursor=&source=1&extInfo=Ql8KhQ1TWK3G%2FBbYoGCWMyeL5iDBfPA%2FidqooiNmt6Sv37LFyINoRqajhRM13g6jvLoVaFQw%2FC3VuLeniF%2Ft5uIEuVPBTdVWblmJF%2FVO%2BF5Li9n6yXafEiuGnWoFc9zvZgr4YkxHP9pltJvuTY410DjWMaCil2VEd36XsCZpmWw%3D&needInterestTag=false&browseType=1&seid=253e59e9-a137-42dd-b291-d957f43c8cf8&volume=0.73&backRefresh=false&__NStokensig=c4cb4271f3211c34c16d5cd834e98ebda150c6d957cb82bdf8e1a95ffeb304e2&kuaishou.api_st=Cg9rdWFpc2hvdS5hcGkuc3QSoAG2q0g-deb-tNjkILe6FTBSUwhf_6370CSDML5jTC-YDUhKtu4CRYvHyXm9wwmV1QAfyzb9TzHaVqol-DGyQLQFfZcfDc3IwVQ5lm5sQiaIwzk31MWR_BL6CXpncKcN3jdqNINZ0AEiBBft8RF8OgGRkK4K0Ia3jsH-M8Ur_jajTALiR5BQeEWSDyUtJy1vE48Gheu9i4prF6y3kVkvXJLFGhJey_IdJfJMt4oIXuVy7QAVNNEiIPGtBaWs1gYPdT7lm853QU351FcL0w-RSQ6bwUAxFxSzKAUwAQ&token=abd7df7449c64f46a562a313f74fc72d-561252472&client_key=3c2cd3f3&os=android&sig=29a919db9a8c66aff96c0e1e3dfc9031'headers = {'User-Agent': 'kwai-android','Content-Type': 'application/x-www-form-urlencoded'}html = requests.post(url, data=data, headers=headers, timeout=5)print(html.text)if __name__ == '__main__':getData()

总结:其实这种爬取快手方式有点投机取巧,因为post过去的参数 sig 是签名, 是有加密的,只所以还能返回数据是因为每次都是请求的一样的链接, page=1都是第一页的,当改成2的时候,就验签失败了。虽然达到了效果,但却没有能破解他的加密算法。

参考: https://www.cnblogs.com/binglansky/p/8483096.html

python 爬取快手数据相关推荐

  1. python爬取网页公开数据_如何用Python爬取网页数据

    使用Python爬取网页数据的方法: 一.利用webbrowser.open()打开一个网站:>>> import webbrowser >>> webbrowse ...

  2. 编程python爬取网页数据教程_实例讲解Python爬取网页数据

    一.利用webbrowser.open()打开一个网站: >>> import webbrowser >>> webbrowser.open('http://i.f ...

  3. Python爬取天气数据及可视化分析!

    来源丨Python之王 Python爬取天气数据及可视化分析 说在前面 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向.相对湿度.空气质量等成为关注的焦点.本 ...

  4. Python爬取的数据存为json文件,并读取

    Python爬取的数据存为json文件,并读取 import requests import time from lxml import etree import jsondef json_data_ ...

  5. python爬虫教程:实例讲解Python爬取网页数据

    这篇文章给大家通过实例讲解了Python爬取网页数据的步骤以及操作过程,有兴趣的朋友跟着学习下吧. 一.利用webbrowser.open()打开一个网站: >>> import w ...

  6. python爬取股票数据,以上证指数为例,可以爬取任何股票,保存为temp.csv文件

    python爬取股票数据,以上证指数为例,可以爬取任何股票,保存为temp.csv文件 import requests import pandas as pd# market: 0:沪市 1:深市 # ...

  7. python爬取微博数据词云_用Python爬取微博数据生成词云图片

    原标题:用Python爬取微博数据生成词云图片 欢迎关注天善智能 hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习.问答.求职,一站式搞定! 对商业智能BI.大数 ...

  8. 使用python爬取网站数据并写入到excel中

    文章目录 前言 一.使用python爬取网上数据并写入到excel中 例子一: 例子二: 二.工具类 总结 前言 记录一下使用python将网页上的数据写入到excel中 一.使用python爬取网上 ...

  9. Python小姿势 - Python爬取网页数据

    Python爬取网页数据 爬取网页数据是一个比较常见的Python应用场景,有很多第三方库可以帮助我们完成这个任务.这里我们介绍一下urllib库中的一个常用方法:urllib.request.url ...

最新文章

  1. 开始升级我的工作流系统
  2. Python语言学习 (七)1.1
  3. 2019-02-23-算法-进化
  4. mac下配置进行c和matlab混编
  5. C语言课后习题(42)
  6. 计算机专业的英语文献,计算机专业英语论文参考文献集 计算机专业英语英语参考文献哪里找...
  7. 《Spark大数据分析实战》——第2章Spark开发与环境配置
  8. java long 1 000_Java-基本数据类型
  9. GOF设计模式(概念、原则、场景、优点、缺点、应用)
  10. 全民健身下的体育消费,是怎么升级的?
  11. jav使用python模型实现方案
  12. 对象存储是什么?看过就明白了
  13. Redis 做网页UV统计
  14. 减员云售前可降本增效
  15. 对“剖析液晶屏逻辑板TFT偏压电路”一文的一点看法(上)
  16. 服务中读取当前用户注册表HKEY_CURRENT_USER
  17. 12个面向前端开发者真正有用的 VSCode 插件工具
  18. 精选20个高品质的免费素材,可以下载PSD格式
  19. sql语句查询某天、某周、某月、某年的数据
  20. 华为ensp基础实验(一)

热门文章

  1. android机器人kibot,360儿童机器人app
  2. 【Python】Python打包exe后文件庞大,删减体积大小措施
  3. android不同屏幕大小手机的适配问题
  4. Java实现对象的克隆方式
  5. ps 修改图片大小(分辨率)(png图片)
  6. 【亲密关系】003 社会认知
  7. 【svn】svn报错refers to a file, not a directory和File out of date解决办法
  8. 集合深入(List)
  9. 如何让你的产品拥有信赖感和惊喜感
  10. 注册github没有接收到邮件