当前位置: 首页 > news >正文

爬虫实战案例 -- 爬取豆瓣读书网页内容

  1. 进入网站检查信息 , 确定请求方式以及相关数据
    在这里插入图片描述

  2. 找到爬取目标位置
    在这里插入图片描述
    在这里插入图片描述

  3. 开始敲代码

# 链接网站
def url_link(url):res = requests.get(url,headers = headers)response = res.textparse_data(response)# 爬取信息
def parse_data(data):msg = '<li\sclass="media\sclearfix">.*?'\'<img\sclass="subject-cover".*?src="(.*?)"/></a>.*?'\'class="fleft"\shref="(.*?)">(.*?)</a>.*?'\'class="subject-abstract\scolor-gray">(.*?)</p>'result = re.findall(msg,data,re.S)for i in result:img_url = i[0]bookData = i[1]bookName = i[2]bookauthor = i[3].strip()print('图片信息:', img_url)print('详情链接:', bookData)print('书籍名字:', bookName)print('作者信息:', bookauthor)print('======================')keep_data(bookName,img_url,bookData,bookauthor)# 保存数据
def keep_data(img, data, name, author):# 创建文件夹if not os.path.exists('doubanData'):os.mkdir('doubanData')# 保存书籍信息with open("doubanData\db.json", "a", encoding="utf-8") as f:f.write("书籍名称:" + name + "\n")f.write("图片信息:" + img + "\n")f.write("书籍详情页:" + data + "\n")f.write('书籍作者:' + author + "\n\n")# 保存图片信息urlDta = requests.get(data).contentwith open('doubanData/{}.jpg'.format(img),'wb') as f:f.write(urlDta)if __name__ == '__main__':# 设置爬取页数for i in range(1,6):url = f'https://book.douban.com/latest?subcat=%E5%85%A8%E9%83%A8&p={i}'print(f"正在爬取第{i}页")print("====================================================================")url_link(url)

最终效果
在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/265322.html

相关文章:

  • 某电子文档安全管理系统 SQL注入漏洞复现
  • ant-design-vue Message 用法以及内容为 html片段情况
  • 2024 Move 开发者大会火热报名中!1 月 13 至 14 日上海见
  • hbase用shell命令新建表报错ERROR: KeeperErrorCode = NoNode for /hbase/master
  • PyQt中的冒号(:)
  • yolo-nas无人机高空红外热数据小目标检测(教程+代码)
  • Ubuntu22.04安装python2
  • 【Amazon 实验①】Amazon WAF功能增强之实验环境准备
  • Qt不能在线程函数操作UI
  • web网页端使用webSocket实现语音通话功能(SpringBoot+VUE)
  • 读取spring boot项目resource目录下的文件
  • R语言生物群落(生态)数据统计分析与绘图实践技术
  • c# OpenCV 检测(斑点检测、边缘检测、轮廓检测)(五)
  • PHP下载安装以及基本配置
  • 黑苹果安装经验总结2023-12
  • 基于深度学习的森林火焰烟雾检测系统(含UI界面,yolov8、Python代码,数据集)
  • 测试开发体系介绍——测试体系介绍-L1
  • Linux中的链接运算符详解 - 提高编程效率与性能
  • JS模块化规范之ES6及UMD
  • XM平台官网开户注册流程图解
  • 【Linux进阶之路】线程
  • 个性化TikTok外贸工具定制!突破营销新境界!
  • 设计模式-门面模式
  • 搭建接口自动化测试框架python+requests+pytest
  • 一套rk3588 rtsp服务器推流的 github 方案及记录 -02
  • docker运行java程序的Dockerfile
  • docker数据卷数据卷容器
  • 使用HTTP协议有哪些风险?HTTP与HTTPS的区别是什么
  • 【jvm从入门到实战】(十) 实战篇-内存调优
  • 设计模式分类