【练习】爬取当当网中的好评榜图书信息,显示并保存为excel文件

声明:
1、 学生刚开始学习爬虫,代码会有很多不严谨,也较为粗糙,单纯用于广大网友参考,希望能起到一定的帮助
2、 如果要转载,请标记出来源
3、本文纯粹用于技术练习,请勿用作非法途径
做题途中所遇问题:
1.同class名的div标签想要单独取用第二个。但是一直没法,最后使用find_all标签一起取用成列表格式,再进行选取
2.for循环嵌套有点不熟悉折腾好久才弄清楚循环,基础不扎实。
代码行:

import requests
from bs4 import BeautifulSoup
import xlwt
response=requests.get("http://bang.dangdang.com/books/fivestars/1-1")
response.encoding=response.apparent_encoding
#由于要先爬取数据再保存成文件,运用函数来分布功能,方便管理
bs = BeautifulSoup(response.text,"html.parser")
book_content=bs.find('ul',class_="bang_list clearfix bang_list_mode").find_all('li')
list=[]
for book in book_content:
        #图书名
        name=book.find('div',class_="name").find('a').text
        #评分
        score=book.find('div',class_="biaosheng").text
        #作者
        author=book.find('div',class_="publisher_info").find('a').attrs['title']
        #出版日期
        time=book.find_all('div',class_="publisher_info")
        time=time[1].find('span').text
        #出版社
        address=book.find_all('div', class_="publisher_info")
        address=address[1].find('a').text
        #价格
        price=book.find_next('div', class_="price").find('p').find('span',class_='price_n').text
        books = (name,author, score, time, address, price)
        list.append(books)
 #       print(list)
        print("图书名:%s、作者:%s、评分:%s、出版日期:%s出版社:%s 价格:%s"%(name,author,score,time,address,price))
#1新建一个工作簿
workbook=xlwt.Workbook()
#2新建一个工作表
sheet1=workbook.add_sheet('当当网',cell_overwrite_ok=True)
col=("图书名","作者","评分","出版日期","出版社","价格")
for i in range(0,6):
    sheet1.write(0,i,col[i])
#行数
#循环嵌套,先进行外循环,进入内循环,内循环循环结束,再回到外循环,进入内循环
for i in range(0,len(list)):
#先将一本书的信息从储存所有书中的表中分离出来
    list2=list[i]
    #列数
    for j in range(0,6):
#然后再将这本书的信息分别割出来
         sheet1.write(i+1,j,list2[j])
workbook.save('newExcel.xls')

输出结果:

```python在这里插入代码片
在这里插入图片描述


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

NeHAO_WU

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

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

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

打赏作者

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

抵扣说明:

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

余额充值