爬东东程序猿阵线联盟-汇总各类技术干货石头剪刀布

用python带你爬取小视频,看完“身体一天不如一天”

2019-06-27  本文已影响79人  诸葛青云999

Python现在非常火,语法简单而且功能强大,很多同学都想学Python!

python爬取小视频记录

学习python简单爬虫小程序,记录代码和学习过程

环境信息

python 2.7.12

分析与步骤

1. 要分析网站信息 http://www.budejie.com/video/

2. 查看网页不同页面的信息

http://www.budejie.com/video/2

http://www.budejie.com/video/3

http://www.budejie.com/video/4

可以知道,不同页面的URL规则,直接在后面输入数字查看跳转到不同页

3. 分析视频内容特点

如图:

如果你在学习Python的过程当中有遇见任何问题,可以加入python交流学企鹅群:【611+530+101】,多多交流问题,互帮互助,群里有不错的学习教程和开发工具。学习python有任何问题(学习方法,学习效率,如何就业),可以随时来咨询我

查看网页代码:

通过这段代码,我们可以考虑分析。在python代码中用一段存放描述内容,一段存放视频所在的url

对于每个url地址,通过urllib所提供的urlretrieve下载

4. 具体代码实现

# -*- encoding:utf8 -*-

import re

import sys

import urllib2

import urllib

import os

reload(sys)

sys.setdefaultencoding("utf-8")

#a = 1

url_name = []

def get(pageindex):

url = 'http://www.budejie.com/video/' + str(pageindex)

# var1.set('已经获取到第%s页的视频视频'%(a))

print url

html = urllib.urlopen(url).read()

url_reg = r'data-mp4="(.*?)"'

url_items = re.findall(url_reg, html)

name_reg = re.compile('<div class="j-r-list-c-desc".*?<a href=".*?>(.*?)</a>.*?</div>', re.S)

name_items = re.findall(name_reg, html)

for i, k in zip(name_items, url_items):

url_name.append([i, k])

#传入文件名和video地址

def saveVideo(filename,videoUrl):

print 'Saving : %s ...'%filename

urllib.urlretrieve(videoUrl,'D:\video\%s.mp4'%filename)

####main exec ####

for pageindex in range(1,3):

get(pageindex)

for index,item in enumerate(url_name):

saveVideo(index,item[1])

如果觉得有帮助,记得关注、转发、收藏哟~

上一篇 下一篇

猜你喜欢

热点阅读