python爬取快手、抖音视频的评论

有需要的可以加QQ:1016401546
代码百度云下载:

链接:https://pan.baidu.com/s/1wkpdY7MVyciwAVtzHnisVQ 
提取码:1olb

说明: 上面代码目前被快手限制,没有该开始可以爬取那么多了评论了。
下面代码正常使用。
可以通过脚本+自动化滑动的方式来爬取评论。不过这种方式是模拟人工滑动视频评论,花费的时间肯定也很慢。一个一万多条评论的视频估计得要半个小时不止。但是这种方式的好处是抖音或者快手那边没有限制,比较是模仿人工操作的。代码直接爬取会被限制。
具体演示可以看下面代码demo:

按键精灵版本:
链接:https://pan.baidu.com/s/1hZjlfdPY6piUEwvK0KV2fA 
提取码:xtk3

脚本有两个功能:

1、自定义爬取某个视频的评论,即你想爬取哪个视频,直接把分享的短链接拿出来保存到文件中即可爬取。
2、批量获取视频(自动获取一页有上百个视频),再爬取视频评论和用户id。

脚本运行:

脚本运行简单,提供一键运行操作,用户只需要双击启动文件即可启动脚本,弹出下面页面,用户只需要按照提示输入自己需求即可。
在这里插入图片描述

脚本使用说明

1、把你的短视频链接分行写入到文件中
在这里插入图片描述
如果你不想手动输入url,可以自动获取页面的视频:并爬取他的评论:
在这里插入图片描述

2、程序会自动获取文件中的短连接,获取视频评论信息:
部分代码如下

获取短连接的长链接,返回uid,用来获取信息
def get_uid(url):
    print(url)
    #分析URL是否短连接
    if len(url) < 60:
        r = requests.head(url, headers=headers_web1, verify=False)
        long_url =r.headers.get('location')
        print(long_url)
        # 获取用户账户id
        url_list = re.split('[/?]', long_url)
    else:
        url_list = re.split('[/?]',url)
    return url_list[5]

f = open("请输入用户视频URL.txt", "r")
    lines = f.readlines()  # 读取全部内容 ,并以列表方式返回
    # print(lines)
    for line in lines:
        url = line.replace('\n', '')
        try:
            uid = get_uid(url)
            print(uid)
        except:
            time.sleep(2)
            continue

在这里插入图片描述
3、写入到CSV里

def save_file(uname, uid, content):
    UP['用户名字'] = uname
    UP['用户uid'] = uid + '\t'
    UP['评论内容'] = content
    '''保存csv文件'''
    csv_columns = list(UP.keys())
    try:
        if os.path.exists(csv_file):
            with open(csv_file, 'a', encoding='utf-8-sig') as file:
                writer = csv.DictWriter(file, fieldnames=csv_columns, delimiter=',', lineterminator='\n')
                writer.writerow(UP)
        else:
            with open(csv_file, 'w', encoding='utf-8-sig') as csvfile:
                print("创建csv文件")
                writer = csv.DictWriter(csvfile, fieldnames=csv_columns, delimiter=',', lineterminator='\n')
                writer.writeheader()
                writer.writerow(UP)
    except IOError as err:
        print(err)

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/MYF12/article/details/117488816