爬虫爬取韩国美女主播直播小视频
应某哥们的要求,爬取了某网站的小视频,具体什么网址,这里就不多说了,老司机会找到的,这里主要说技术。获得网页,和视频下载地址和上一篇博客差不多,这里也就直接上代码吧。最后说一句:学习技术才是关键,一定要注意身体,,嗯,对,是是,我说的别熬夜写代码,哈哈哈,。
# 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
