easyui datalist 不显示数据_爬虫练习——豆瓣电影信息爬取及数据可视化

本文介绍了使用Python爬虫爬取豆瓣电影TOP250信息,涉及beautifulsoup、re、urllib和SQLite等库,以及如何使用flask、echarts和wordcloud实现数据可视化。详细讲解了数据爬取、解析、存储和网页制作的全过程。
摘要由CSDN通过智能技术生成

最近自学了简单的爬虫项目,简单记录下自己的小白学习路径。

本次爬取的是豆瓣电影TOP250数据,主要用到beautifulsoup、re、urllib库、SQLite包,数据可视化方面主要用到flask框架、echarts和wordcloud等,搭建简单的数据可视化网站。

话不多说,下面开始。

一、数据爬取阶段

1、需求分析

这次爬取的豆瓣电影TOP250信息数据,包括名称、豆瓣评分、评价人数、电影概况以及电影链接等,具体网址为https://movie.douban.com/top250

0487854f96d51058ee3201c8507c4149.png

2、准备工作

(1)首先要分析页面URL,250条电影数据每页有25个,共十页的数据。

a7e87172ff9ce6b2e3a4f2fd6080226d.png

第一页的网址为https://movie.douban.com/top250?start=0&filter=,,观察规律可以发现该页网络地址为https://movie.douban.com/top250?start=(该页页数-1)*25,第一页是0,第二页是25,第三页是50,以此类推(后面的&filter=为过滤筛选项,可以忽略)。

(2)接下来要分析页面,找到所需数据在网页信息中的位置。在页面点击F12进入开发者模式,点击相关信息即可获得对应的网页位置。

f2bf67cc24727d2ba616a3692564cd0e.png

3、获取数据

通过HTTP库向网页发起请求,请求可包含额外的header等信息(如浏览器信息基本User-Agent、Cookie等),如果服务器能正常响应,会得到一个response,这便是所要获取的页面内容。

首先导入需要的库

from bs4 import BeautifulSoup           # 网页解析
import re               # 正则表达式,进行文字匹配
import urllib.request,urllib.error      # 指定URL,获取网页数据
import sqlite3          # 进行sqlite数据库操作

爬取网页前设定基本的数据,厘清整个框架。

def main():
    baseurl = "https://movie.douban.com/top250?start="
    #1.爬取网页,用getDate()函数
    datalist = getDate(baseurl)
    #2.逐一解析数据(可与1同步进行)
    #3.保存数据,用saveData2DB()函数
    dbpath = "movie.bd"             #数据库保存路径
    saveData2DB(datalist,dbpath)    #存储到database中的方法
if __name__ == "__main__":          #当程序执行时
 #调用函数
    main()
    print("爬取完毕!")

搭好框架后,在其中加以分析,首先要获取网页的内容。

# 得到指定一个url网页内容
def askURL(url):
    head = {
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36"
    }           # 模拟浏览器头部信息,向豆瓣服务器发送消息(发送请求时对浏览器做的伪装)
    # 用户代理:表示告诉豆瓣浏览器,我们是什么类型的机器,实质上是告诉浏览器,我们可以接收什么水平的文件内容

    requst = urllib.request.Request(url,headers=head)       # 用封装的信息访问
    html = ""
    try:
        response = urllib.request.urlopen(requst)
        html = response.read().decode("utf-8&
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值