python爬虫豆瓣读书top250+数据清洗+数据库+Java后端开发+Echarts数据可视化(一)

由于刚上完了商业智能实训的课程,根据老师的要求我们做了一个完整的项目。

1. 项目要求与内容

项目具体要求:利用python爬取数据并进行清洗和预处理,将清洗后的数据存到数据库中,后端利用Java或是其他语言,最终利用Echarts实现数据可视化效果。

完成项目基本内容

  1. 爬取豆瓣读书top250网页上相关信息;
  2. 对爬取保存下来的数据文件进行清洗和预处理;
  3. 将清洗好的数据导入数据库;
  4. 进行需求分析,对要实现的数据可视化效果进行分析,创建相应的数据库表并导入数据;
  5. 选用Java语言进行后端管理:
  • 首先进行项目准备工作;
  • 然后依次实现对实体类、持久层、业务层、web层、前端页面的开发。

2. 开发工具及相关技术

  • pycharm——xpath
  • navicat for MySQL
  • Maria DB / MySQL
  • eclipse——Ajax+Tomcat

3. python豆瓣读书top250数据爬取

3.1 数据爬取前期准备

3.1.1 分析url

在这里插入图片描述
这里只需要将start后面所传的数值进行修改即可。从0开始,每页25条书籍信息。

3.1.2 爬取信息

在这里插入图片描述
在这里我们要爬取的数据信息为

  • 书名
  • 链接
  • 图片
  • 国家
  • 作者
  • 出版社
  • 出版时间
  • 价格
  • 星级
  • 评分
  • 评价人数
  • 简介

3.1.3 分析网页源代码

在这里插入图片描述
以上图评价人数为例,这里运用到了xpath对数据信息进行定位,找到所在的标签。

3.2 数据爬取

这里不细节讲,下面的代码里面有具体内容和注释

# 1. 导入库包
import requests
from lxml import etree
from time import sleep
import os
import pandas as pd
import re

BOOKS = []
IMGURLS = []

# 2. 获取网页源代码
def get_html(url):
    headers = {
   
   
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'
    }
    # 异常处理
    try:
        html = requests.get(url, headers=headers)
        # 声明编码方式
        html.encoding = html.apparent_encoding
        # 判断
        if html.status_code == 200:
            print('成功获取源代码')
            # print(html.text)
    except Exception as e:
        print('获取源代码失败:%s' % e)
    # 返回html
    return html.text

# 3. 解析网页源代码
def parse_html(html):
    html = etree.HTML(html)
    # 每个图书信息分别保存在 class="indent" 的div下的 table标签内
    tables = html.xpath("//div[@class='indent']//table")
    # print(len(tables))  # 打印之后如果是25的话就是对的
    books = []
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值