首先澄清一下,我用Python收集這些視頻,絕不是想做別的什么,真的只是用來做動態壁紙,大家不要誤會!我不是那樣的人~

這樣的不過份吧 ??

閱讀本文你需要準備
1、環境
Python pycharm # 我還給大家準備了大量的學習資料和教程,都在這個群了 # Python學習交流群 279199867 # 還有大佬不定期解答問題,同千人一起進步~
2、模塊使用
requests
requests 需要手動安裝一下 ,win + R 輸入cmd 輸入安裝命令 pip install 模塊名 (如果你覺得安裝速度比較慢, 你可以切換國內鏡像源)
re
json
這兩個是內置模塊,不需要安裝,Python環境安裝好就可以了,
3、關于模塊安裝失敗
如何安裝python第三方模塊:
- win + R 輸入 cmd 點擊確定, 輸入安裝命令 pip install 模塊名 (pip install requests) 回車
- 在pycharm中點擊Terminal(終端) 輸入安裝命令
安裝失敗原因:
-
失敗一: pip 不是內部命令
解決方法: 設定環境變數 -
失敗二: 出現大量報紅 (read time out)
解決方法: 因為是網路鏈接超時, 需要切換鏡像源,
清華:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:https://mirrors.aliyun.com/pypi/simple/
中國科技大學 https://pypi.mirrors.ustc.edu.cn/simple/
華中理工大學:https://pypi.hustunique.com/
山東理工大學:https://pypi.sdutlinux.org/
豆瓣:https://pypi.douban.com/simple/
例如:pip3 install -i https://pypi.doubanio.com/simple/ 模塊名
- 失敗三: cmd里面顯示已經安裝過了, 或者安裝成功了, 但是在pycharm里面還是無法匯入
解決方法: 可能安裝了多個python版本 (anaconda 或者 python 安裝一個即可) 卸載一個就好,
或者你pycharm里面python解釋器沒有設定好
4、配置pycharm里面的python解釋器
- 選擇file(檔案) >>> setting(設定) >>> Project(專案) >>> python interpreter(python解釋器)
- 點擊齒輪, 選擇add
- 添加python安裝路徑
5、Python想要兼職接外包應該學習什么?
外包是什么? 是指別人花錢請你幫他寫程式, 根據甲方的需求定制化開發程式軟體, 從而獲得一定報酬,
目前關于爬蟲+資料分析外包相對而言會多一些,
比如:
- 學生的畢設 / 課設 / 作業、個人商家需要的一些資料采集、某人公司需要的某些資料等等;
- 采集疫情資料做可視化分析 / 采集房源資料做可視化分析 / 采集招聘網站做可視化分析 / 采集電商平臺做可視化分析 等等
這些是普遍存在的外包需求
根據外包的需求以及難易程式 外包的收費情況也是不一樣的, 按照分布計算,
- 簡單的外包: 100-300左右 耗時: 30-60分鐘左右
- 中等的外包: 500+ 左右 耗時: 1-2個小時左右
- 難度稍大外包: 價格 1000+ 不封頂等 耗時: 3-5天不等
爬蟲和資料分析外包 一般情況寫外包的周期相對而言會比較多短
網站開發的外包難度以及耗時相當而言會大一些,比如開發后臺資料管理系統 / 某公司企業官網 / 或者學生畢設等等,但是價格相對而言都是比較高的,網站開發價格普通是上千,
6、Python找作業就業方向以及薪資待遇情況
Python找作業方向主要是
-
開發工程師 <網站開發/全堆疊開發>
北京平均薪資23K
應屆生15K
1-3年 16.9K
3-5年22.9K -
爬蟲工程師
北京平均薪資22.5K
應屆生16.7K
1-3年 18.1K
3-5年 24K -
資料分析師
北京平均薪資25.3K
應屆生13.5K
1-3年 19.4K
3-5年26.2K
以上資料來源于科大招聘網站
常用p蟲通用模板
- 一. 資料來源分析
采集資料內容, 要知道我們想要內容是來自哪里
<開發者工具進行抓包分析>
I. F12打開打開發者工具
II. 重繪網頁 讓資料重新加載一遍
III. 這個網站是一個m3u8視頻內容
正常情況, 一個視頻完整的內容
m3u8視頻內容 會整個完整視頻內容,分割成很多個小視頻片段 <ts檔案> 一個ts檔案 可能只有幾秒鐘的時間
所以我們得去找一個檔案內容 <m3u8檔案> 包含我們所有ts檔案內容 <所有視頻片段>
最好的搜索方式, 是根據ts檔案url去搜索m3u8檔案
請求獲取網頁源代碼 就可以得到m3u8檔案 >>> 所有視頻片段就得到了 >>> 合成為一個整體的視頻內容
- 二. 代碼實作步驟: <基本四大步驟>
- 發送請求, 對于視頻播放詳情頁url地址發送請求
- 獲取資料, 獲取網頁源代碼 <獲取服務器回傳response回應資料>
- 決議資料, 提取我們想要資料內容 <m3u8檔案>
- 發送請求, 對于m3u8檔案url發送請求
- 獲取資料, 獲取服務器回傳response回應資料
- 決議資料, 提取所有ts檔案內容 <視頻片段url>
- 保存資料, 保存視頻內容到本地
- 多個視頻采集
- 多頁資料采集
- 根據關鍵詞視頻下載
- 根據關鍵詞視頻下載
代碼部分
import time import requests # 資料請求模塊 import re # 正則運算式模塊 import json import pprint for page in range(3, 29): print(f'正在采集第{page}頁的資料') time.sleep(1) link = 'https://www.acfun.cn/u/29946310' data = { 'quickViewId': 'ac-space-video-list', 'reqID': page+1, 'ajaxpipe': '1', 'type': 'video', 'order': 'newest', 'page': page, 'pageSize': '20', 't': '1653659024877', } headers = { 'referer': 'https://acfun/u/29946310', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36' } response = requests.get(url=link, params=data, headers=headers) # pprint.pprint(response.text) ac_id_list = re.findall('atomid.*?:.*?"(\d+).*?"', response.text) print(ac_id_list) for ac_id in ac_id_list: url = f'https://acfun/v/ac{ac_id}' headers = { 'referer': f'https://acfun/u/{ac_id}', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36' } response = requests.get(url=url, headers=headers) title = re.findall('<title >(.*?) - AcFun彈幕視頻網 - 認真你就輸啦 \(\?ω\?\)ノ- \( ゜- ゜\)つロ</title>', response.text)[0] html_data = re.findall('window.pageInfo = window.videoInfo = (.*?);', response.text)[0] json_data = json.loads(html_data) m3u8_url = json.loads(json_data['currentVideoInfo']['ksPlayJson'])['adaptationSet'][0]['representation'][0]['backupUrl'][0] m3u8_data = requests.get(url=m3u8_url, headers=headers).text m3u8_data = re.sub('#E.*', '', m3u8_data).split() print(title) print(m3u8_url)
兄弟們快去試試吧!

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/494145.html
標籤:Python
