豆瓣图书TOP250爬取

简介: 豆瓣图书TOP250爬取

本期,我们实现对豆瓣图书TOP250榜单的爬取,爬取的网站如下:

我们爬取图书名称、作者、出版社、评分、评论人数等信息并保存到Excel文件中,具体代码为:


from bs4 import BeautifulSoupimport requestsimport pandas as pdimport re
def get_html(url):    header = {        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0'}    html = requests.get(url, headers=header).content    return html
def get_con(html):    soup = BeautifulSoup(html,'html.parser')    book_list = soup.find('div', attrs={'class': 'article'})    data= []    for i in book_list.find_all('table'):        #print(i)        #获取书名        book_name = i.find('div', attrs={'class': 'pl2'})        book_details=i.find('p').get_text()        #获取作者、出版社、出版日期、价格、评分、评论人数相关数据        author=book_details.split('/')[:-3]        publisher=book_details.split('/')[-3]        pb_date=book_details.split('/')[-2]        price=book_details.split('/')[-1]        rate=i.find('span',attrs={'class':'rating_nums'}).get_text()        rate_comments=re.findall('\d+',i.find('span',attrs={'class':'pl'}).get_text())[0]+'人评论'        m = list(book_name.find('a').stripped_strings)        if len(m)>1:            x = m[0]+m[1]        else:            x = m[0]                data.append([x,author,publisher,pb_date,price,rate,rate_comments])#     print(data)    return data
if __name__ == '__main__':    all_list=pd.DataFrame()     for i in range(0,10):        url=f"https://book.douban.com/top250?start={i*25}"        print(url)        html= get_html(url)        data= get_con(html)        all_list=all_list.append(data)    #print(all_list)    all_list.columns=['名称','作者','出版社','出版日期','价格','豆瓣评分','评论人数']    all_list.to_excel('豆瓣图书TOP250.xlsx',index=False)

爬取效果:


OK,本期的爬虫就到这里,Bye!

相关文章
|
机器学习/深度学习 传感器 算法
【特征提取】语音信号端点检测+倒谱法+自相关法特征提取附Matlab源码
【特征提取】语音信号端点检测+倒谱法+自相关法特征提取附Matlab源码
|
存储 缓存 关系型数据库
图解MySQL【日志】——Redo Log
Redo Log(重做日志)是数据库中用于记录数据页修改的物理日志,确保事务的持久性和一致性。其主要作用包括崩溃恢复、提高性能和保证事务一致性。Redo Log 通过先写日志的方式,在内存中缓存修改操作,并在适当时候刷入磁盘,减少随机写入带来的性能损耗。WAL(Write-Ahead Logging)技术的核心思想是先将修改操作记录到日志文件中,再择机写入磁盘,从而实现高效且安全的数据持久化。Redo Log 的持久化过程涉及 Redo Log Buffer 和不同刷盘时机的控制参数(如 `innodb_flush_log_at_trx_commit`),以平衡性能与数据安全性。
912 5
图解MySQL【日志】——Redo Log
|
中间件 Linux
Centos中配置开机自启动的方式汇总(上)
Centos中配置开机自启动的方式汇总(上)
2788 0
Centos中配置开机自启动的方式汇总(上)
|
存储 数据可视化
豆瓣电影Top250的可视化分析
本文旨在实现豆瓣电影TOP250的可视化,通过确定柱状图、折线图和饼图等图表设计,展示评价人数最多、年份分布及类型占比。模拟数据用于演示,例如评价最多的电影、年份最多的电影数量及每年高分电影趋势。完整代码可下载,包含ECharts实现的四种图表。
1421 0
豆瓣电影Top250的可视化分析
|
并行计算 API C++
Nvidia TensorRT系列01-TensorRT的功能1
NVIDIA TensorRT是一个高性能深度学习推理优化器和运行时,支持C++和Python API。其编程模型分为构建阶段和运行时阶段,前者优化模型,后者执行推理。TensorRT支持多种数据类型和精度,包括FP32、FP16、INT8等,并提供插件机制以扩展支持的操作。
733 0
|
缓存 Ubuntu Linux
在Linux中,Yum、Dnf、Apt-get和Pacman有何区别?
在Linux中,Yum、Dnf、Apt-get和Pacman有何区别?
|
数据可视化 搜索推荐 数据挖掘
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(一)
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(一)
2598 1
|
算法 程序员 编译器
【cmake 踩坑记录】CMake文件安装深入解析:EXCLUDE的奥秘与替代方案
【cmake 踩坑记录】CMake文件安装深入解析:EXCLUDE的奥秘与替代方案
739 0

热门文章

最新文章