用正则表达式爬取京东图书销量榜(https://book.jd.com/booktop/0-0-0.html)上所有图书的以下信息:(1) 书名——bookName (2) 作者——author (3) 定价——definePrice (4) 折扣——discount (5) 售价——sellPrice

时间: 2023-11-13 17:05:17 浏览: 42
好的,这是一个比较典型的爬取数据的需求,可以用Python的爬虫库和正则表达式来实现。下面是代码示例: ```python import requests import re url = 'https://book.jd.com/booktop/0-0-0.html' response = requests.get(url) html = response.content.decode('utf-8') # 爬取书名、作者、定价、折扣、售价 pattern = r'<div class="p-img"><a href="//(.*?)" target="_blank" title="(.*?)">' pattern += r'</a></div><div class="p-detail"><a href="//(.*?)" target="_blank" title="(.*?)">' pattern += r'</a><span class="author">(.*?)</span><span class="price"><em>¥</em><i>(.*?)</i></span>' pattern += r'<span class="price-del"><em>¥</em><i>(.*?)</i></span><span class="plus-price">' pattern += r'<a href="//(.*?)" target="_blank"><em>¥</em><i>(.*?)</i></a></span></div>' result = re.findall(pattern, html) for item in result: bookName = item[1] author = item[4] definePrice = item[5] discount = str(round(float(item[6])/float(item[5]), 2)) sellPrice = item[7] print(bookName, author, definePrice, discount, sellPrice) ``` 解释一下代码: 1. 用requests库发送GET请求获取京东图书销量榜页面的HTML代码; 2. 用正则表达式匹配HTML代码中的书名、作者、定价、折扣、售价等信息; 3. 循环遍历匹配结果,并将每一本书的信息打印出来。 这里用到的正则表达式比较长,但是也比较简单,可以分段理解。其中,r表示原始字符串,方便正则表达式的书写,.*?表示非贪婪匹配,可以匹配任意字符,直到匹配到下一个字符为止。

相关推荐

最新推荐

recommend-type

MATLAB实验一二 数值计算

MATLAB实验一二 数值计算
recommend-type

Java毕业设计-ssm基于SSM的英语学习网站的设计与实现演示录像(高分期末大作业).rar

Java毕业设计-ssm基于SSM的英语学习网站的设计与实现演示录像(高分期末大作业)
recommend-type

平安保险-智富人生A的计算

平安保险-智富人生A的计算
recommend-type

MATLAB实验五六 图像相关应用

MATLAB实验五六 图像相关应用
recommend-type

AUTOSAR-SRS-FreeRunningTimer.pdf

AUTOSAR_SRS_FreeRunningTimer.pdf
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

确保MATLAB回归分析模型的可靠性:诊断与评估的全面指南

![确保MATLAB回归分析模型的可靠性:诊断与评估的全面指南](https://img-blog.csdnimg.cn/img_convert/4b823f2c5b14c1129df0b0031a02ba9b.png) # 1. 回归分析模型的基础** **1.1 回归分析的基本原理** 回归分析是一种统计建模技术,用于确定一个或多个自变量与一个因变量之间的关系。其基本原理是拟合一条曲线或超平面,以最小化因变量与自变量之间的误差平方和。 **1.2 线性回归和非线性回归** 线性回归是一种回归分析模型,其中因变量与自变量之间的关系是线性的。非线性回归模型则用于拟合因变量与自变量之间非
recommend-type

引发C++软件异常的常见原因

1. 内存错误:内存溢出、野指针、内存泄漏等; 2. 数组越界:程序访问了超出数组边界的元素; 3. 逻辑错误:程序设计错误或算法错误; 4. 文件读写错误:文件不存在或无法打开、读写权限不足等; 5. 系统调用错误:系统调用返回异常或调用参数错误; 6. 硬件故障:例如硬盘损坏、内存损坏等; 7. 网络异常:网络连接中断、网络传输中断、网络超时等; 8. 程序异常终止:例如由于未知原因导致程序崩溃等。
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。