python爬蟲爬取bilibili網頁基本內容

用爬蟲爬取bilibili網站排行榜遊戲類的所有名稱及鏈接:

導入requestsBeautifulSoup

import requests
from bs4 import BeautifulSoup

然後我們需要插入網站鏈接並且要解析網站並打印出來:

e = requests.get('https://www.bilibili.com/v/popular/rank/game')   #當前網站鏈接
html = e.content
soup = BeautifulSoup(html,'html.parser')    #解析html
print(soup)

我們可以看到密密麻麻的代碼函數,但不太簡潔明瞭,我們去優化一下

 繼續插入如下代碼這個代碼是可以爬取我們想要的類,可以更簡介的簡化代碼

div_people_list = soup.find('ul', attrs={'class': 'rank-list'})  #爬取ul類class為rank-list下的數據

可以看到還是不夠簡介:

繼續插入如下代碼:

ca_s = div_people_list.find_all('a', attrs={'class': 'title'})   #爬取a類class為title下的數據

可以看到鏈接及主題都提取出來瞭,但還是有瑕疵:

 我們加入這行代碼挨個打印並提取標題及鏈接,由於鏈接提取出來的是//www.bilibili.com/video/BV1yZ4y1D7ef

前面沒有http:點擊進去會出現錯誤,所有我們需要在前面加入http:進行連接在一起打印

for t in ca_s:
    url = t['href']
    name = t.get_text()
    print(name+'\t點擊鏈接直接觀看鏈接:'+f'http:{url}')

可以看到我們的標題及連接都爬取出來瞭 

完整代碼:

import requests
from bs4 import BeautifulSoup
 
e = requests.get('https://www.bilibili.com/v/popular/rank/game')   #當前網站鏈接
html = e.content
soup = BeautifulSoup(html,'html.parser')    #解析html
div_people_list = soup.find('ul', attrs={'class': 'rank-list'})  #爬取ul類class為rank-list下的數據
ca_s = div_people_list.find_all('a', attrs={'class': 'title'})   #爬取a類class為title下的數據
 
#挨個傳輸到t,然後打印數據
for t in ca_s:
    url = t['href']
    name = t.get_text()
    print(name+'\t點擊鏈接直接觀看鏈接:'+f'http:{url}')

到此這篇關於python爬蟲爬取bilibili網頁基本內容的文章就介紹到這瞭,更多相關python爬取bilibili網頁內容內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: