python爬取抖音评论_使用python爬虫,批量爬取抖音app视频(requests+Fiddler+appium)
# _*_ coding: utf-8 _*_
import? ?requests
import sys
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36" }##去重方法
def distinct_data():
##讀取txt中文檔的url列表datalist_blank=[]
pathtxt? =? 'H:/Request.txt'
with open(pathtxt) as f:
f_data_list=f.readlines()? ?#d得到的是一個list類型forain f_data_list:
datalist_blank.append(a.strip())#去掉\n strip去掉頭尾默認空格或換行符# print(datalist)data_dict={}
for? ?data? ?in datalist_blank:
#print(type(data),data,'\n')
#print(data.split('/'),'\n',data.split('/').index('m'),'\n')
#url中以/為切分,在以m為切分
##把m后面的值放進字典key的位置,利用字典特性去重
if? int(data.split('/').index('m'))? ==? 4 :
#此處為v6開頭的url
#print(data,44,data.split('/')[5])data_key1=data.split("/")[5]
data_dict[data_key1]=data
elifint(data.split('/').index('m'))==6:
#此處為v1或者v3或者v9開頭的url
#print(data,66,data.split('/')[7],type(data.split('/')[7]))data_key2=data.split("/")[7]
data_dict[data_key2] =data
#print(len(data_dict),data_dict)data_new=[]
forx,yin data_dict.items():
data_new.append(y)
return data_newdef responsedouyin():
data_url=distinct_data()
# 使用request獲取視頻url的內容# stream=True作用是推遲下載響應體直到訪問Response.content屬性# 將視頻寫入文件夾num = 1forurlin data_url:
res = requests.get(url,stream=True,headers=headers)
#res = requests.get(url=url, stream=True, headers=headers)#定義視頻存放的路徑pathinfo ='H:/douyin-video/%d.mp4'% num#%d 用于整數輸出? %s用于字符串輸出# 實現下載進度條顯示,這一步需要得到總視頻大小total_size = int(res.headers['Content-Length'])
#print('這是視頻的總大小:',total_size)#設置流的起始值為0temp_size = 0
ifres.status_code == 200:
with open(pathinfo, 'wb') as file:
#file.write(res.content)
#print(pathinfo + '下載完成啦啦啦啦啦')
num += 1
#當流下載時,下面是優先推薦的獲取內容方式,iter_content()函數就是得到文件的內容,指定chunk_size=1024,大小可以自己設置喲,設置的意思就是下載一點流寫一點流到磁盤中
f or? chunk? in? res.iter_content(chunk_size=1024):
if? ?chunk:
temp_size += len(chunk)
file.write(chunk)
file.flush() #刷新緩存#############下載進度條部分start###############done = int(50 * temp_size / total_size)
#print('百分比:',done)sys.stdout.write("\r[%s%s] %d % %"% ('█'* done,''* (50 - done), 100 * temp_size / total_size)+" 下載信息:"+pathinfo +"下載完成啦啦啦啦啦")
sys.stdout.flush()#刷新緩存#############下載進度條部分end###############print('\n')#每一條打印在屏幕上換行輸出
if? __name__? ==? '__main__':
responsedouyin()
總結
以上是生活随笔為你收集整理的python爬取抖音评论_使用python爬虫,批量爬取抖音app视频(requests+Fiddler+appium)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3DMAX和MAYA软件上功能上有什么不
- 下一篇: 利用wordcloud库生成词云(Pyt