python3 抓取當(dāng)月豆瓣電影生成圖表

先上圖(騙你們學(xué)python,再騙你們用pyecharts)


柱狀圖.png

pyecharts這個(gè)插件很牛逼,可以生成各種圖表,其次就是BeautifulSoup,識(shí)別html
ide可以vscode也可以pycharm都很好用

# 可視化爬取結(jié)果
import requests
from bs4 import BeautifulSoup  # 從bs4引入BeautifulSoup
from pyecharts.charts import Page, Pie, Bar  # 引入繪圖需要的模塊
from pyecharts import options as opts
import datetime


if __name__ == '__main__':
    now_month = datetime.datetime.now().month
    # 請(qǐng)求網(wǎng)頁(yè)
    url = "https://movie.douban.com/cinema/later/chengdu/"
    response = requests.get(url)

    soup = BeautifulSoup(response.content.decode('utf-8'), 'html5lib')

    all_movies = soup.find('div', id="showing-soon")  # 先找到最大的div

    # 先把所有的數(shù)據(jù)存到這個(gè)list里面
    all_movies_info = []
    for each_movie in all_movies.find_all('div', class_="item"):  # 從最大的div里面找到影片的div
        # print(each_movie)  # 輸出每個(gè)影片div的內(nèi)容
        all_a_tag = each_movie.find_all('a')
        all_li_tag = each_movie.find_all('li')
        movie_name = all_a_tag[1].text
        moive_href = all_a_tag[1]['href']
        movie_date = all_li_tag[0].text
        movie_type = all_li_tag[1].text
        movie_area = all_li_tag[2].text
        movie_lovers = all_li_tag[3].text.replace('人想看', '')  # 去掉除了數(shù)字之外的字
        # 把電影數(shù)據(jù)添加到list
        all_movies_info.append({'name': movie_name, 'date': movie_date, 'type': movie_type,
                                'area': movie_area, 'lovers': movie_lovers})
        # print('名字:{},日期:{},類(lèi)型:{},地區(qū):{}, 關(guān)注者:{}'.format(
        # movie_name, movie_date, movie_type, movie_area, movie_lovers))
        # 繪制關(guān)注者排行榜圖
    sort_by_lovers = sorted(all_movies_info, key=lambda x: int(x['lovers']))
    all_names = [i['name'] for i in sort_by_lovers]
    all_lovers = [i['lovers'] for i in sort_by_lovers]

    print(sort_by_lovers)
    # V1 版本開(kāi)始支持鏈?zhǔn)秸{(diào)用
    bar = (
        Bar()
            .add_xaxis(all_names)
            .add_yaxis("電影資訊", all_lovers)
            .reversal_axis()
            .set_series_opts(label_opts=opts.LabelOpts(position="right"))
            .set_global_opts(title_opts=opts.TitleOpts(title=str(now_month) + "月豆瓣電影排行"))
    )
    bar.render()
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容