python爬取快手商品数据

本文涉及的产品
大数据开发治理平台 DataWorks,不限时长
简介: python爬取快手商品数据

环境: python 3.5 + win8.1

工具:fiddler postman 逍遥模拟器

首先使用fiddler抓取app数据,打开快手,刷新,可以看到会有很多的http/https请求,找到快手首页数据加载请求。
image.png
image.png
image.png
请求数据格式分析:post请求,header 是dictionary形式,data是字符串形式。(data不可以写成dict方式)

打开psotman测试

form-data方式提交报错
image.png
换成raw方式提交,报错信息改变
image.png
加上headers
image.png
成功返回数据,测试几次,发现返回结果不同,数据不存在重复
```import requests

def 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的时候,就验签失败了。虽然达到了效果,但却没有能破解他的加密算法。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
一站式大数据开发治理平台DataWorks初级课程
DataWorks 从 2009 年开始,十ー年里一直支持阿里巴巴集团内部数据中台的建设,2019 年双 11 稳定支撑每日千万级的任务调度。每天阿里巴巴内部有数万名数据和算法工程师正在使用DataWorks,承了阿里巴巴 99%的据业务构建。本课程主要介绍了阿里巴巴大数据技术发展历程与 DataWorks 几大模块的基本能力。 课程目标  通过讲师的详细讲解与实际演示,学员可以一边学习一边进行实际操作,可以深入了解DataWorks各大模块的使用方式和具体功能,让学员对DataWorks数据集成、开发、分析、运维、安全、治理等方面有深刻的了解,加深对阿里云大数据产品体系的理解与认识。 适合人群  企业数据仓库开发人员  大数据平台开发人员  数据分析师  大数据运维人员  对于大数据平台、数据中台产品感兴趣的开发者
相关文章
|
5天前
|
数据采集 Web App开发 数据挖掘
使用Python和BeautifulSoup轻松抓取表格数据
使用Python和BeautifulSoup,结合代理IP,可以从网页抓取表格数据,如中国气象局的天气信息。通过requests库发送HTTP请求,BeautifulSoup解析HTML提取表格。安装必要库后,设置代理IP,发送请求,解析HTML找到表格,提取数据并存储。通过Pandas进行数据分析,如计算平均气温。这种方法让数据抓取和分析变得更加便捷。
使用Python和BeautifulSoup轻松抓取表格数据
|
6天前
|
数据采集 Web App开发 数据处理
一步步教你用Python Selenium抓取动态网页任意行数据
使用Python Selenium爬取动态网页,结合代理IP提升抓取效率。安装Selenium,配置代理(如亿牛云),设置User-Agent和Cookies以模拟用户行为。示例代码展示如何使用XPath提取表格数据,处理异常,并通过隐式等待确保页面加载完成。代理、模拟浏览器行为和正确配置增强爬虫性能和成功率。
一步步教你用Python Selenium抓取动态网页任意行数据
|
1天前
|
存储 数据挖掘 Python
使用Python集合高效统计Excel数据
使用Python集合高效统计Excel数据
13 7
|
18小时前
|
数据采集 存储 数据处理
使用Python获取1688商品详情的教程
使用Python爬取1688商品详情,涉及requests库抓取页面、BeautifulSoup解析HTML,安装必要库如requests、beautifulsoup4、pandas和lxml。通过get_page发送请求,BeautifulSoup解析提取如标题、价格等信息。数据处理后可使用pandas保存至CSV。注意遵守法律法规和网站政策,避免频繁请求。[代码片段及更多详情见链接
|
1天前
|
数据可视化 Python
Python中的数据可视化:在数据点上添加标签
Python中的数据可视化:在数据点上添加标签
14 3
|
14小时前
|
XML 数据格式 Python
Python使用xpath对解析内容进行数据提取
今天就介绍一个用于提取所需数据的方法之一xpath。在后续会讲解bs4(beautifulsoup),re正则表达式。
|
数据采集 Python
python使用aiohttp通过设置代理爬取基金数据
python使用aiohttp通过设置代理爬取基金数据
|
数据采集 Web App开发 JSON
python爬取共享单车悄然涨价大众的评论数据
python爬取共享单车悄然涨价大众的评论数据
|
数据采集 前端开发 搜索推荐
python如何通过分布式爬虫爬取舆情数据
python如何通过分布式爬虫爬取舆情数据
python如何通过分布式爬虫爬取舆情数据
|
数据采集 Python
python爬取叮咚买菜评价数据
python爬取叮咚买菜评价数据

热门文章

最新文章