代码如下,贡献出来
#-*-coding:utf-8 -*-
import requests #第三方
import re #正则模块
import urllib
def get_response(url):
response=requests.get(url).text
return response #返回网页源代码
def get_content(html): #在这个函数里解析出来包含视频的html,然后返回
reg=re.compile(r'(<div class="j-r-list-c">.*?</div>.*?</div>)',re.S) #正则表达式的元字符.匹配任意字符,默认不匹配换行和制表
# 加re.S能匹配换行, *匹配前面的元字符的0次到多次
return re.findall(reg,html)
def get_mp4_url(response):
reg=r'data-mp4="(.*?)"'
return re.findall(reg,response)
def get_mp4_name(response):
reg=re.compile('<a href="/detail-.{8}.html">(.*?)</a>')
return re.findall(reg,response)
def download_mp4(mp4_url,path):
path=''.join(path.split())
path='D:\\xx\\{}.mp4'.format(path.decode('utf-8').encode('gbk')) #视频的存储路径
#urllib.urlretrieve(mp4_url,path)
content=get_response(mp4_url)
with open(path,'wb') as f:
f.write(content)
if __name__== '__main__':#判断是不是当前文件执行
start_url='http://www.budejie.com/'
#print(len(get_content(get_response(start_url))))
content=get_content(get_response(start_url))
for i in content:
mp4_url=get_mp4_url(i)
if mp4_url:
mp4_name=get_mp4_name(i)
print(mp4_url[0],mp4_name[0])