Python3 源代码和软件 | 抖音关键词视频搜索爬虫
欢迎关注公众号「月小水长」,唯一笔者是 BuyiXiao,又名小布衣、肖不已。
BuyiXiao,何许人也?本衡州一乡野村夫,身高八尺不足,年方二十有余;弱冠之年曾求学于潭州,为谋生计,背井离乡,远赴京畿,我本南人,不习北土,兼有故友,威逼利诱,急于星火,遂下岭南,打工未半,中道创业,所为何业?美其名曰,智能硬件;假工程师之名,行农民工之实,满腹经纶,无用书生,善于自黑,贻笑大方。
笔者水平有限,可能暂时无法将非常干货的教程讲的不拖泥带水又不哗众取宠,公众号文章诸多遗漏或不妥之处,可以加月小水长微信「2391527690」备注「学校专业/研究方向/工作岗位」进行交流。
另外,文末点下「赞」和「在看」,这样每次新文章推送,就会第一时间出现在你的订阅号列表里。
今天分享的是抖音搜索爬虫的 Python3 源代码和软件,可以按照关键词采集抖音视频。
目标站点是抖音的网页版本 douyin.com,接口地址如下:
https://www.douyin.com/aweme/v1/web/search/item/
单个关键词单词最多能采集到几百条视频的信息,这是接口的限制;
接口接受排序和时间两个参数,排序可以选择综合排序、最新发布和最多点赞,
而时间参数可选一天内、一周内和半年内,同样也是三种;
所以对于一个关键词,可以有 3*3 种参数组合,不过很多都是重复数据,需要去重,
爬完一个关键词的所有参数组合后,我们可以设定排序为最新发布,增量爬取新发布的抖音视频。
访问接口需要配置以下参数,均可在抖音网页版登录后使用 Chrome 的 F12 工具直接获取:
1、headers 里面的 cookie
2、params 里面的 X-Bogus 和 msToken 等
params 不需要我们逆向,可以直接获取,如果对获取流程不熟悉的可以参考这一篇:Python 源代码 | 2024 版抖音评论采集爬虫
接口直接返回 json 数据,可以直接解析,通过解析响应里面的 cursor 赋值给 params 里面的 offset 参数控制翻页;
核心代码如下:
while True:
response = requests.get('https://www.douyin.com/aweme/v1/web/search/item/',
params=params, headers=headers)
resp_json = response.json()
save_data(result_file, resp_json)
has_more = resp_json.get('has_more')
if int(has_more) == 0:
break
cursor = resp_json.get('cursor')
params['offset'] = str(cursor)
sleep(slp_per_req)
最终数据保存在 excel 可以直接打开的 csv 文件中,包含 视频描述、发布时间、视频地址、点赞分享收藏评论数等十余个字段 ,示例数据如下:
完整代码已上传面包多,购买地址如下:
https://mbd.pub/o/bread/ZZqUkp1y
完整代码主要功能如下:
-
全部输入基于 json 文件(记事本可打开)配置,无需修改代码即可运行。
-
可采集多个关键词的视频搜索结果,字段丰富,可根据接口数据自由增删。
-
支持多达 3*3 种的排序方式和发布时间参数组合采集,便于丰富数据。
-
文件保存在标准格式 CSV 中,追加采集时自动清洗去重。
-
纯 Python 源代码,主要依赖 requests + pandas 实现,相对轻量级。
-
代码遵循 PEP8 规范,0 error 0 warning,包含爬虫请求->解析->保存三部曲,可作为基础爬虫入门实战项目学习。
同时对于没有安装 Python3 环境或者不想安装 Python3 环境的情况,同样提供了 exe 版本,配置好后双击 exe 即可运行,
exe 地址同代码地址一起获取,可点击阅读原文直达:
https://mbd.pub/o/bread/ZZqUkp1y
购买后即可下载源代码和 exe 软件~,运行时请合理设置休眠时间(默认 6s)