Python爬蟲一爬取B站小視頻源碼


如果要爬取多頁的話 在最下方循環中 填寫好循環的次數就可以了

項目源碼

 1 from fake_useragent import UserAgent
 2 import requests
 3 import time
 4  
 5 ua=UserAgent()
 6  
 7  
 8 def downloader(url, path):
 9     start = time.time()   # 開始時間
10     size = 0
11     headers = {
12         'User-Agent':ua.random
13     }
14     response = requests.get(url, headers=headers, stream=True)   # stream 屬性必須帶上
15     chunk_size = 1024    # 每次下載的數據大小
16     content_size = int(response.headers['content-length'])   # 總大小
17     if response.status_code == 200:
18         print('[文件大小]:%0.2f MB' % (content_size / chunk_size / 1024))   # 換算單位
19         with open(path, 'wb') as file:
20             for data in response.iter_content(chunk_size=chunk_size):
21                 file.write(data)
22                 size += len(data)   # 已下載的文件大小
23                 print('\r' + '[下載進度]:%s%.2f%%' % ('>' * int(size * 50 / content_size), float(size / content_size *
24                                                                                              100)), end=" ")
25     end = time.time()    # 結束時間
26     print('\n' + '視頻下載完成!用時%.2f秒' % (end - start))
27  
28  
29  
30 def The_URL(page):
31     URL='http://api.vc.bilibili.com/board/v1/ranking/top?page_size=10&next_offset={}&tag=%E4%BB%8A%E6%97%A5%E7%83%AD%E9%97%A8&platform=pc'.format(page)
32     headers={
33         'User-Agent':ua.random
34     }
35     sponse=requests.get(URL,headers=headers).json()
36     item=sponse.get('data').get('items')
37     for i in item:
38         ite=i.get('item')
39         #視頻標題
40         Video_name=ite.get('description')
41  
42         #發布日期
43         Release_time=ite.get('upload_time_text')
44  
45         #視頻下載地址
46         Video_download_link=ite.get('video_playurl')
47  
48         #視頻作者
49         The_name=i.get('user').get('name')
50  
51         try:
52             print('當前下載的是:%s'%Video_name)
53             downloader(Video_download_link,path='%s.mp4'%Video_name)
54         except Exception as e:
55             print(e.args)
56  
57 for i in range(0,100):
58     i=i*10+1
59     The_URL(i)

初學者對Python的概念模糊不清的,Python能做什么,學的時候該按照什么線路去學習,學完往哪方面發展,想深入了解,詳情可以復制有道雲筆記鏈接到瀏覽器打開了解:http://note.youdao.com/noteshare?id=e4fa02e7b56d7909a27674cdb3da08aa

學習視頻資料、開發工具等都有免費分享,還有專業的老師答疑


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM