import requests
from lxml import etree
import openpyxl
from wordcloud import WordCloud
import matplotlib.pyplot as plt

i = input('输入你要搜索的内容\n')
url = 'https://www.douyin.com/aweme/v1/web/general/search/single/'
headers = {
    'Cookie': 'your_cookie_here',
    'Referer': 'https://www.douyin.com/discover',
    'Sec-Ch-Ua': '"Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114"',
    'Sec-Ch-Ua-Mobile': '?0',
    'Sec-Ch-Ua-Platform': '"Windows"',
    'Sec-Fetch-Dest': 'empty',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Site': 'same-origin',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
}
par = {
    'device_platform': 'webapp',
    'aid': '6383',
    'channel': 'channel_pc_web',
    'search_channel': 'aweme_general',
    'sort_type': '0',
    'publish_time': '0',
    'keyword': i,
    'search_source': 'guide_search',
    'query_correct_type': '1',
    'is_filter_search': '0',
    'from_group_id': '',
    'offset': '0',
    'count': '10',
    'pc_client_type': '1',
    'version_code': '190600',
    'version_name': '19.6.0',
    'cookie_enabled': 'true',
    'screen_width': '1536',
    'screen_height': '864',
    'browser_language': 'zh-CN',
    'browser_platform': 'Win32',
    'browser_name': 'Edge',
    'browser_version': '114.0.1823.51',
    'browser_online': 'true',
    'engine_name': 'Blink',
    'engine_version': '114.0.0.0',
    'os_name': 'Windows',
    'os_version': '10',
    'cpu_core_num': '8',
    'device_memory': '8',
    'platform': 'PC',
    'downlink': '10',
    'effective_type': '4g',
    'round_trip_time': '50',
    'webid': '7246773138717066791',
    'msToken': '_63wAWn81q9RkbevcN8bCG84UdX0YtyrouB5n6FPmqihUGRbtTKMKueRsiIY_cXxdDYmFsRFzmsl_0pa8doHwWLRpiN36jiisvLBD_C1JPdGSNPxKYguODOWQik0MC8=',
    'X-Bogus': 'DFSzswVLVJtANSQGtnXeIQppgiu-'
}
re = requests.get(url, headers=headers, params=par).json()
for i in re['guide_search_words']:
    print(i['word'])


url = 'https://www.douyin.com/aweme/v1/web/api/suggest_words/'
i1 = input('请从上方选择一个分类\n')
par1 = {
    'device_platform': 'webapp',
    'aid': '6383',
    'channel': 'channel_pc_web',
    'query': '世界杯',
    'business_id': '30088',
    'from_group_id': '7246261544252607755',
    'pc_client_type': '1',
    'version_code': '170400',
    'version_name': '17.4.0',
    'cookie_enabled': 'true',
    'screen_width': '1536',
    'screen_height': '864',
    'browser_language': 'zh-CN',
    'browser_platform': 'Win32',
    'browser_name': 'Edge',
    'browser_version': '114.0.1823.51',
    'browser_online': 'true',
    'engine_name': 'Blink',
    'engine_version': '114.0.0.0',
    'os_name': 'Windows',
    'os_version': '10',
    'cpu_core_num': '8',
    'device_memory': '8',
    'platform': 'PC',
    'downlink': '10',
    'effective_type': '4g',
    'round_trip_time': '50',
    'webid': '7246773138717066791',
    'msToken': 'k1piX6YpTo1grJeZspBy5H35-SzwZJGadomn0-rqfVVFTbirtGJfRUDQjE1oTEm9v_JMDzedHbXvWDCBh2q2FkPfcpbnvUFbmgx54G4YqCKppnlkn3fh1w==',
    'X-Bogus': 'DFSzswVL4vtANSQGtn6kz5ppgizn'
}
re1 = requests.get(url, headers=headers, params=par).json()
print(re1)
for p in re1['params']['words']:
    print(p['word'])
    print('https://www.douyin.com/video/?id='+p['query_id'])

代码功能:

  1. 获取抖音搜索关键词:用户输入一个关键词,代码会从抖音 API 获取该关键词下相关的搜索词,并打印出来。
  2. 获取相关视频链接:用户从搜索词中选择一个类别,代码会从抖音 API 获取该类别下的相关视频链接,并打印出来。

代码说明:

  • 代码使用了 requests 库来发送 HTTP 请求,lxml 库来解析 HTML 代码,openpyxl 库来操作 Excel 文件,WordCloud 库来生成词云图,matplotlib.pyplot 库来绘制图表。
  • 代码中包含了抖音 API 的请求参数和 headers,需要根据自己的实际情况进行修改。
  • 代码中使用了 input() 函数来获取用户的输入,并使用了 print() 函数来打印输出结果。

代码使用示例:

  1. 运行代码,输入你想搜索的关键词,例如:'美食'。
  2. 代码会打印出相关搜索词,例如:'美食推荐', '美食探店', '美食制作'。
  3. 从搜索词中选择一个类别,例如:'美食推荐'。
  4. 代码会打印出该类别下的相关视频链接。

注意事项:

  • 代码需要安装以下库:requests, lxml, openpyxl, wordcloud, matplotlib
  • 代码中的 Cookie 需要替换成你的真实 Cookie,可以通过浏览器开发者工具获取。
  • 代码中使用了抖音 API,需要遵守抖音的 API 使用规范。
抖音搜索关键词提取及相关视频链接获取

原文地址: https://www.cveoy.top/t/topic/oMxC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录