追番【高达】----爬取b站高达影视列表以及观看顺序

学习之余的时间除了出去走走、帮父母干干家务事,还喜欢上了追番,最近觉得高达这部剧不错,但是关于高达的实在是太多番剧了,不知从何看起,之前看了seed 和seed Destiny就觉得不错,可是看完这两个之后又不知道该看哪部emmm

至于高达与敢达,这两者应该只是口音以及翻译导致的不同,本质上应该都是一样的吧,这个我也不太清楚。

通过网上百度,大致可以分为两种,一种是2000年之前的高达剧,另一种是2000年之后的高达剧。
此外,根据网络收集,网上对高达的观看顺序的说法有很多种。我也是很难入手啊,emmmmm。

为此,我决定先把在b站的关于高达的影片、连续剧爬取下来,再按照播出时间来按顺序观看。(当然我有点不想看2000年之前的,感觉那特效和剧情不太好。)
大致如下:
在这里插入图片描述

代码如下:

import requests
from lxml import etree

header = {
    
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36"}

Rst = []
for i in range(1,4):
    url = "https://search.bilibili.com/bangumi?keyword=%E6%9C%BA%E5%8A%A8%E6%88%98%E5%A3%AB%E9%AB%98%E8%BE%BE&page={}".format(i)
    try:
        respone = requests.get(url,headers=header)
    except:
        pass
    html = etree.HTML(respone.text)
    links = html.xpath('//*[@id="bangumi-list"]/ul/li[@class="bangumi-item"]//div[@class="headline"]/a/@href')
    for link in links:
        try:
            respone2 = requests.get(url="https:"+link,headers=header)
        except:
            pass
        html2 = etree.HTML(respone2.text)
        title = html2.xpath('//*[@id="app"]//div[@class="media-info-r"]/div[1]/span/text()')
        Number = html2.xpath('//*[@id="app"]//div[@class="media-info-r"]/div[2]//em/text()')
        Score = html2.xpath('//*[@id="app"]//div[@class="media-info-r"]/div[2]//div[@class="media-info-score-content"]/text()')
        times = html2.xpath('//*[@id="app"]//div[@class="media-info-r"]/div[3]/span/text()')
        if len(Score) == 0:
            score =0
        else:
            score = Score[0]
        data = {
    
    
            "title":title[0],
            "paly_count":Number[0],
            "fans_count":Number[1],
            "barrage_count":Number[2],
            "Score":score,
            "time":times[0][:-2],
            "state":times[1]
        }
        Rst.append(data)

数据清洗与保存:

df = pd.DataFrame(data=Rst)
df['paixu'] = df['time']
for i in range(0,len(df)):
    df['paixu'][i] = df['paixu'][i].replace("年","-")
    df['paixu'][i] = df['paixu'][i].replace("月","-")
    df['paixu'][i] = df['paixu'][i].replace("日","-")
df["paixu"] = pd.to_datetime(df["paixu"])
df.sort_values(by='paixu',ignore_index=True,inplace=True)
df.drop(labels=['paixu'],axis=1,inplace=True)
df.to_excel("./高达.xlsx", encoding="gbk", index=False)

猜你喜欢

转载自blog.csdn.net/qq_42658739/article/details/107427918