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

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')
    book_items = item.find('span',class_='font-small color-red fleft')

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

    #得到图书名称
    topchart_dict['name'] = book_item.getText().replace('\t','').replace('\n','').replace(' ','')  #图书名字
    
    #得到图书评分
    topchart_dict['grade'] = book_items.getText()

    #将图书信息加入到数组中
    topchart_list.append(topchart_dict)
print(topchart_list)

 

转载于:https://www.cnblogs.com/lsm-boke/p/9940315.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值