淄博烧烤在这个春天火出了圈,火到社交平台到处都是,火到大学生组团坐高铁到淄博打卡种草,火到你长久不联系的外省同学、朋友都要来山东品尝,火到相关话题一次次登上热搜热榜,连央视主播康辉都深夜点赞,成为现象级IP。
从3月初突然爆火到如今依然热度不减,“淄博烧烤”火出圈的原因首先就是短视频的加持,今年的爆火,则首先来自各平台网友,特别是大学生大量发布的种草视频。自2月下旬开始,淄博火车站旅客流量开始显著上升,日均发送旅客创下近3年来最高纪录。大学生组团到淄博吃烧烤,成一时之景,在“淄博火车站打卡”、自创“淄博烧烤手势”,各种花式打卡引发大学生集体模仿,前往淄博吃烧烤的年轻人“自主发圈”,淄博烧烤开始“引爆”。
这里我们通过使用Python爬虫获取热门短视频上关于“淄博烧烤”的相关视频,评论,转发等数据来分析下,而抖音是目前非常热门的短视频平台之一,所以这里我们的目标就是抖音。抖音的数据获取可以通过官方提供的接口实现,也可以通过爬取网页来获取。但是关于抖音的反爬机制大家肯定也是了解的,在爬取过程中想要绕过被反的策略就是尽可能伪装为真实用户行为,比如自己伪装成浏览器访问网站,这可以极大程度降低被反的概率,那如何做到伪装浏览器呢?
1、可以使用请求头(headers)来掩饰自己,其中最常用的就是User Agent,User Agent也简称 UA 。
2、使用不同的User-Agent来规避反爬策略。
3、使用优质爬虫带来ip来规避反爬,ip的使用有2种方式,通过api链接获取ip在进行数据请求,还有就是通过隧道转发直接发送请求。我们的爬虫程序里面直接使用的是隧道转发模式的,使用过程如下:
import requests
import random
# 要访问的目标页面
targetUrl = "http://httpbin.org/ip"
# 要访问的目标HTTPS页面
# targetUrl = "https://httpbin.org/ip"
# 代理服务器(产品官网 www.16yun.cn)
proxyHost = "t.16yun.cn"
proxyPort = "31111"
# 代理验证信息
proxyUser = "username"
proxyPass = "password"
proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
"host" : proxyHost,
"port" : proxyPort,
"user" : proxyUser,
"pass" : proxyPass,
}
# 设置 http和https访问都是用HTTP代理
proxies = {
"http" : proxyMeta,
"https" : proxyMeta,
}
# 设置IP切换头
tunnel = random.randint(1,10000)
headers = {"Proxy-Tunnel": str(tunnel)}
resp = requests.get(targetUrl, proxies=proxies, headers=headers)
print resp.status_code
print resp.text