爬蟲爬取韓國美女主播直播小視頻
應某哥們的要求,爬取了某網站的小視頻,具體什么網址,這里就不多說了,老司機會找到的,這里主要說技術。獲得網頁,和視頻下載地址和上一篇博客差不多,這里也就直接上代碼吧。最后說一句:學習技術才是關鍵,一定要注意身體,,嗯,對,是是,我說的別熬夜寫代碼,哈哈哈,。
# encoding: utf-8 import sys import requests import re import time import os from bs4 import BeautifulSoup count=4; urlHead = 'http://www.bjmingding.com/post/' urlFoot = '.html' def SaveMovie(link, image_name): # 獲取網址 try: time1 = time.time() # 沒有這行,打印的結果中文是亂碼 #link = 'http://puliting.dgzcad.com/puliting/1553829923537.mp4' dest_resp = requests.get(link) # 視頻是二進制數據流,content就是為了獲取二進制數據的方法 data = dest_resp.content # 保存數據的路徑及文件名 root = 'D:/pic/movie/' path = root + image_name+str(count)+'.mp4' if not os.path.exists(root): os.mkdir(root) f = open(path, 'wb') f.write(data) f.close() time2 = time.time() print('ok,下載完成!') print('總共耗時:' + str(time2 - time1) + 's') except: return "" def getHtmlurl(url): # 獲取網址 try: r = requests.get(url) r.raise_for_status() r.encoding = r.apparent_encoding return r.text except: return "" def getMovieLink(html): soup=BeautifulSoup(html) aaa=soup.find('ul',class_='row') All_MovieLinks=soup.select('body script') i=1 lll=' ' for MovieLink in All_MovieLinks: str = MovieLink.get_text() print(MovieLink) if i==2: s = str.find('url: ') t = str.find('pic') lll=str[s+6:t].split('\'')[0] print(lll) break i += 1 reg = r'<h1 class="f-22 txt-ov">(.*)</h1>' # r'<a\sclass=".*?"\starget=".*?"\shref=".*?">(.*)</a>' # 正則表達式 reg_ques = re.compile(reg) # 編譯一下正則表達式,運行的更快 image_name_arr = reg_ques.findall(html) # 匹配正則表達式 image_name = image_name_arr[0] SaveMovie(lll, image_name) def main(url): #url='http://www.ivsky.com/bizhi/yourname_v39947/' html=(getHtmlurl(url)) #print(html) return getMovieLink(html) if __name__ == '__main__': for i in range(1,100): count +=1 url=urlHead+str(6765+count)+urlFoot try: main(url) except: pass
簡單看一下運行結果,這不是成品,只是簡單獲取一些,想要獲取更多,自行更改相應代碼,或者更改網址。這里只是技術交流,如果大神看到該代碼請不要噴基本變量什么的,這只是隨手一寫,只是為了增加朋友之間的友誼,如果有更好的技術,請更正,謝謝。
下一篇應該是自動下載抖音里的無水印視頻等信息。
微信:GD5626633