简单爬取b站排行榜
知识点补充
user-agent
chrome://version/
简单爬取b站排行榜
import requests #获取页面数据
import pandas as pd #用于数据清洗
from bs4 import BeautifulSoup #解析页面
import numpy as np
import re #用于正则表达式
resp = requests.get('https://www.bilibili.com/v/popular/rank/all') #当前网站链接
html = resp.content
page_content = BeautifulSoup(html,'html.parser') #解析html
print(page_content)
简化爬取下来的内容
# 爬取ul类class为rank-list下的数据
div_video_list = page_content.find('ul', attrs={'class': 'rank-list'})
进一步爬取标题
# 爬取a类class为title下的数据
title = div_video_list.find_all('a', attrs={'class': 'title'})
title
# 空列表用于存储
title_list = []
url_list = []
for t in title:
url = t['href']
name = t.get_text()
title_list.append(name)
url_list.append(f'http:{url}')
print(name+f'http:{url}')
title_list
url_list
# 存储
pd.DataFrame({'title':title_list,'url':url_list},).to_csv('00.csv',header=True,index=False,encoding="utf_8_sig")
进一步要学的是,如何更精确地提取自己所需信息+翻页。