豆瓣图书短评爬取(其中一本书的短评<前十页>)

目标图书是“流浪地球”(只是一个图书编号不同)

爬取前十页,包括评论人员的名称、评论日期、评论等级、被赞个数、评论内容。
先看运行结果:

(由于输出比较多直截首尾的图):
在这里插入图片描述
在这里插入图片描述

直接上代码:有疑问或者需求可以在下方评论。(共同进步)

import requests
from bs4 import BeautifulSoup
import time
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'}
print("豆瓣图书爬取---流浪地球。")
num = 1
for i in range (0,199,20):
    time.sleep(3)
    if i == 0:
       url = 'https://book.douban.com/subject/3266609/comments/?limit=20&status=P&sort=new_score'
    else:
        url = 'https://book.douban.com/subject/3266609/comments/?start='+str(i)+'&limit=20&status=P&sort=new_score'
    resp = requests.get(url, headers=headers)
    bs=BeautifulSoup(resp.text,'html.parser')
    grid_view=bs.find_all('li',class_="comment-item")#里面的每个li表示一个影片数据
    print("------------------第"+str(num) +"页评论信息爬取。输出样例(点赞数、用户名称、评论时间、评论内容)------------------")
    cishu = 1
    for item in grid_view:
        piaoshu = item.find('span',class_="vote-count").text
        tzuozhe = item.find('span',class_="comment-info")
        zuozhe = tzuozhe.find('a').text
        shijian = item.find('span',class_="comment-time").text
        comment = item.find('span',class_="short").text

        ping = tzuozhe.find('span')
        if len(str(ping)) != 60:
            pingfen = "5个星"
        else:
            if ping.get('title') == "还行":
                pingfen = "3个星"
            elif ping.get('title') == "力荐":
                pingfen = "5个星"
            elif ping.get('title') == "推荐":
                pingfen = "4个星"
            elif ping.get('title') == "较差":
                pingfen = "2个星"
            else:
                pingfen = "1个星"

        print("第"+str(num)+"页的第"+str(cishu)+"条评论---"+"点赞数:"+str(piaoshu)+"  作者名称:"+str(zuozhe)+"  评论时间:"+str(shijian)+"  评分:"+pingfen+"  评论内容:"+str(comment)+"\n")
        cishu += 1
    num += 1

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢地上爬的孩子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值