爬虫之爬取豆瓣图书的评论

Posted lsm-boke

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫之爬取豆瓣图书的评论相关的知识,希望对你有一定的参考价值。

from urllib import request
from bs4 import BeautifulSoup as bs

#爬取豆瓣最受关注图书榜
resp = request.urlopen(https://book.douban.com/chart?subcat=I)
html_data = resp.read().decode(utf-8)

#转化为BeautifulSoup对象
soup = bs(html_data,html.parser)

#搜索最受关注的图书列表
topchart_book =soup.find_all(ul,class_=chart-dashed-list)

#搜索列表中所有图书
topchart_book_list = topchart_book[0].find_all(li,class_=media clearfix)

#新建数组用于存放后续的数据
topchart_list = []

#遍历图书馆列表,从中过滤出我们所需的信息
for item in topchart_book_list:
    #新建字典用于存放我们的图书信息,之后可用class来存储
    topchart_dict = {}

    #搜索到具体信息的位置
    book_item = item.find(a,class_=fleft)

    #得到图书ID
    topchart_dict[id] = book_item[href].split(/)[4]   

    #得到图书名称
    topchart_dict[name] = book_item.getText().replace(	,‘‘).replace(
,‘‘).replace( ,‘‘)  #图书名字
    
    #将图书信息加入到数组中
    topchart_list.append(topchart_dict)
# print(topchart_list)

#拼接出图书对应的详情页
requrl = https://book.douban.com/subject/+topchart_list[0][id]+/comments/hot+?+p-1

#爬取热门第一页中的评论信息
resp = request.urlopen(requrl)
html_data = resp.read().decode(utf-8)
soup = bs(html_data,html.parser)

#搜索到评论所在div
comment_div_lits = soup.find_all(div,class_=comment)

#新建数组用于存放评论信息
eachCommentList = []

for item in comment_div_lits:
    if item.find_all(p)[0].string is not None:
        eachCommentList.append(item.find_all(p)[0].string)
print(eachCommentList)

 

以上是关于爬虫之爬取豆瓣图书的评论的主要内容,如果未能解决你的问题,请参考以下文章

爬虫之爬取豆瓣图书名字及ID

Python爬虫简单实例——豆瓣电影评论数据的爬取

Python项目之我的第一个爬虫----爬取豆瓣图书网,统计图书数量

爬虫实战利用scrapy框架爬取豆瓣图书信息

Python爬虫入门 | 4 爬取豆瓣TOP250图书信息

33豆瓣图书短评