python爬取豆瓣读书并进行图形化分析

python爬取豆瓣读书并进行图形化分析

  1. 豆瓣读书网页数据爬取并保存至csv
  2. 对数据进行分析并汇成图形
  3. 绘制散点图
  4. 图形效果展示

以下代码内容大多是团队小伙伴的杰作,而本人只是为了能让更多的人学习到知识从而能更好的解决问题,才将整个python项目完整发出。

目录结构如下:

建立一个豆瓣总文件夹,然后只需在总文件夹下面建立一个image文件夹(这是用来存放从豆瓣中下载的图片),douban.py、display.py、Work.py。其它的在代码运行之后都会自动生成。

 

1、豆瓣读书网页数据爬取并保存至csv

douban.py代码如下:

'''
   项目:豆瓣读书分析
   日期:2020/12/14
'''
import requests
from lxml import etree
import time
import csv

#信息头
headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'
        }

def douban_booksrank(url):
    res = requests.get(url, headers=headers)
    selector = etree.HTML(res.text)
    contents = selector.xpath('//div[@class="article"]/div[contains(@class,"doulist-item")]')  #循环点
    for content in contents:
        try:
            title = content.xpath('div/div[2]/div[3]/a/text()')[0].strip()  #书名

            scores = content.xpath('div/div[2]/div[4]/span[2]/text()')  #评分

            scores.append('9.0')  #因为有一些书没有评分,导致列表为空,此处添加一个默认评分,若无评分则默认为9.0
            score = scores[0]
            comments = content.xpath('div/div[2]/div[4]/span[3]/text()')[0] #评论数量

            author = content.xpath('div/div[2]/div[5]/text()[1]')[0].strip()    #作者
            #利用str的区间索引去除作者:
            real_author=author[3:]
            publishment = content.xpath('div/div[2]/div[5]/text()[2]')[0].strip()   #出版社
            real_publishment=publishment[4:]
            pub_year = content.xpath('div/div[2]/div[5]/text()[3]')[0].strip()  #出版时间
            real_year = pub_year[4:]
            img_url = content.xpath('div/div[2]/div[2]/a/img/@src')[0].strip()  #书本图片
  • 11
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值