日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

初用python爬取麦x学院python教学视频

發布時間:2023/12/9 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 初用python爬取麦x学院python教学视频 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

想學python,苦于無資源,偶然得知有人說有全套麥某學院的教學視頻,趕緊留了個郵箱,幾天無果,只能自己動手了

來到麥某學院的官方網站,發現網站上的視頻都是免費的,是直接用html5視頻的,于是一顆爬蟲的種子悄然的發芽了


第一步:打開網站的源代碼,用截取各階段的相應章節地址

1. 從主頁上看,python教學視頻分成了四個階段,我們需要把每個階段的一系列視頻都捕獲到


2.分析該頁面的源代碼,發現所有視頻鏈接都在 class=“lead-img”的<a href="" .....里面


于是通過代碼:

<span style="font-size:18px;">pythonreg = re.compile(r'lead-img">.+?<a href="(.+?)" title="(.+?)"', re.DOTALL) pagedata = pythonreg .findall(html)</span> 截取得數據: <span style="font-size:18px;">/course/python/425-5465</span> 再與根目錄拼接就可到達下圖的相應教程中


第二步:根據第一步所截取的所有章節的地址獲取所有章節的課程地址

1. 隨手打開一個章節,發現最右邊有全部課程的相關鏈接




2.再看網頁源代碼


所有信息都在<div id = “playlist” 的 <li 的 href=""中

于是可通過代碼:

<span style="font-size:18px;">partreg = re.compile(r'id="playlist".+?<div>', re.DOTALL) # 獲取課程數據的一部分 datareg = re.compile(r'<li.+?href="(.+?)"', re.DOTALL) # 將課程鏈接剝離出來 coursedata = datareg.findall(partreg.findall(html))</span> 獲取每個視頻的播放地址 <span style="font-size:18px;">/course/python/425-5466/</span>


第三步:從microohvideo中提取出視頻下載地址


<span style="font-size:18px;">mp4reg = re.compile(r'id="microohvideo".+?src="(.+?)"', re.DOTALL)</span> 得到視頻地址
www.xxxx.com/csshtml3.m4v


至此已經得到了麥x學院的所有python教學視頻鏈接

我將這些鏈接地址全部存入mysql中,最后附上代碼

<pre name="code" class="python"># -*-coding:utf-8-*- # -------------------- # 爬取麥x學院python教程的大綱鏈接 # 2015.10.26 # --------------------- import re # 正則表達式 import urllib2 # 從地址獲取網頁源代碼 import saveDate2DB # 數據庫的操作# 打開網頁utl # 用reg規則返回自己要的數據 def getdata(url,reg):webpage = urllib2.urlopen(url, timeout=10)html = webpage.read()pagedata = reg.findall(html)return pagedatapythonurl = "http://www.maiziedu.com/course/python/" # 數據源網址 pythonreg = re.compile(r'lead-img">.+?<a href="(.+?)" title="(.+?)"', re.DOTALL) # 各階段的章節地址 pythons = getdata(pythonurl, pythonreg) # python大綱中的子地址urls = [] for course in pythons: # 從python大綱把所有課程鏈接找出來print '-----------------正在獲取', course[1], '課程鏈接---------------------'partreg = re.compile(r'id="playlist".+?<div>', re.DOTALL) # 獲取playlist部分datareg = re.compile(r'<li.+?href="(.+?)"', re.DOTALL) # 將playlist部分中的課程鏈接剝離出來mp4reg = re.compile(r'id="microohvideo".+?src="(.+?)"', re.DOTALL) # 將視頻匹配出來courseurl = "http://www.maiziedu.com" + course[0]coursedata = datareg.findall(getdata(courseurl, partreg)[0]) # 獲取所有課程視頻的鏈接mp4urls = [] # 將所有視頻地址存入list中for mp4html in coursedata:mp4url = getdata('http://www.maiziedu.com'+mp4html, mp4reg)print mp4url[0]mp4urls.append(mp4url[0])# saveDate2DB.savedata(course[1], mp4urls) # 將數據存入數據庫


程序運行結果:



另外,我還做了另一項有趣的行動

將下載鏈接轉換為qq旋風下載鏈接

用程序打開qq旋風并且將數據一個個下載



總結

以上是生活随笔為你收集整理的初用python爬取麦x学院python教学视频的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。