python爬取豆瓣电影数据可视化

本文介绍如何使用Python爬取豆瓣电影数据,并利用Flask框架搭建服务器,通过Echarts进行数据可视化,同时结合jieba进行分词构建词云,最后在网页上展示分析结果。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

爬取网页内容

第三方库:BeautifulSoup,sqlite3,urllib,xlwt,re

#-*- codeing = utf-8 -*-

from bs4 import BeautifulSoup
import sqlite3
import xlwt
import urllib.request,urllib.error
import re


def main():
    baseurl="https://movie.douban.com/top250?start="
    #1.爬取网页
    datalist=getData(baseurl)
    print("get data")
    #2.解析数据

    #3.保存数据
    # savepath = "douban_top250.xls"
    # saveData(datalist,savepath)

    dbpath="movie250.db"
    saveData2(datalist, dbpath)
    # print("hello")


#爬取网页
def getData(baseurl):
    datalist=[]
    #2.逐一解析
    for i in range(0,10):    #页面
        url=baseurl + str(i*25)
        html=askURL(url)
        
        #寻找电影链接
        findlink=re.compile(r'<a href="(.*?)">')
        findImgSrc=re.compile(r'<img.*src="(.*?)"',re.S)
        findTitle=re.compile(r'<span class="title">(.*)</span>')
        findRating=re.compile(r'<span class="rating_num" property="v:average">(.*)</span>')
        findComment=re.compile(r'<span>(\d*)人评价</span>')
        findInq=re.compile(r'<span class="inq">(.*)</span>')
        #详情
        findBd=re.compile(r'<p class="">(.*?)</p>',re.S)

        soup=BeautifulSoup(html,"html.parser")
        for item in soup.find_all('div',class_="item"):
            data=[] #保存每一部电影的所有信息
            item=str(item)
            # print(item)
            # break
            title=re.findall(findTitle, item)
            
            if(len(title)==2):
                ctitle=title[0]
                data.append(ctitle)
                otitle=title[1].replace("/","")
                otitle=re.sub('\s', " ", otitle)
                data.append(otitle)
            else:
                data.append(title[0])
                data.append('') #外国名留空
            
            link=

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值