像iqiyi這種視頻網(wǎng)站,現(xiàn)在下載視頻都需要下載相應的客戶端。那么如何不用下載客戶端,直接下載非vip視頻?
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供啟東網(wǎng)站建設、啟東做網(wǎng)站、啟東網(wǎng)站設計、啟東網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、啟東企業(yè)網(wǎng)站模板建站服務,十余年啟東做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。選擇你想要爬取的內(nèi)容
該安裝的程序以及運行環(huán)境都配置好
下面這段代碼就是我在愛奇藝里搜素“英文名”,然后出來的視頻,共有20頁,那么我們便從第一頁開始,解析網(wǎng)頁,然后分析
分析每一頁網(wǎng)址,找出規(guī)律就可以直接得到所有頁面
然后根據(jù)每一個視頻的URL的標簽,如'class' 'div' 'href'......通過bs4庫進行爬取
而其他的信息則是直接循環(huán)所爬取到的URL,在每一個里再通過標簽去找
import requests import pandas as pd from bs4 import BeautifulSoup #爬取URL headers={'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36'} b=[] for i in range(1,2): url="https://so.iqiyi.com/so/q_英文名_ctg_t_0_page_"+str(i)+"_p_1_qc_0_rd__site__m_1_bitrate_" #共20頁,根據(jù)每頁的網(wǎng)址變換規(guī)律進行拼接 r=requests.get(url,headers=headers) soup=BeautifulSoup(r.text,"html.parser") a=soup.findAll('a',{'class':'main-tit'}) for i in a: if 'http://www.'in i.get('href')and 'html'in i.get('href'): b.append(i.get('href')) print(b) #爬取標題 e=[] for k in b: res=requests.get(k,headers=headers) Soup=BeautifulSoup(res.text,'html.parser') c=Soup.findAll('div',{'class':'feed-title-box'}) for d in c: e.append(d.find('h2').text) print(e) #爬取標題下方描述 f=[] for j in b: res=requests.get(j,headers=headers) Soup=BeautifulSoup(res.text,'html.parser') c=Soup.findAll('div',{'class':'qy-play-intro-feed'}) for d in c: f.append(d.find('p',{'class':"intro-iterm__block"}).text) print(f) #爬取發(fā)布時間 h=[] for j in b: res=requests.get(j,headers=headers) Soup=BeautifulSoup(res.text,'html.parser') c=Soup.findAll('div',{'class':'intro-iterm'}) for d in c: ff=(d.find('span',{'class':"intro-iterm__txt"})) if ff==None: continue h.append(ff.text) print(h) # 爬取上傳作者 m=[] for k in b: res=requests.get(k,headers=headers) Soup=BeautifulSoup(res.text,'html.parser') c=Soup.find('div',{'id':'block-P'}) d=Soup.find('div',{'class':'qy-player-maker'}) try: name=c.get(':uploader').split(',')[1].split(':')[1].replace('"','')#輸出是字符串的格式,所以用split切割。replace替換 except: try: name=d.get(':uploader').split(',')[1].split(':')[1].replace('"','') except: m.append("匿名用戶") m.append(name) print(m)