Python第一个爬虫,爬取当当网 Top 500 本五星好评书籍!

Python爬虫——当当网玄幻书籍信息的爬取 使用python语言,scrapy框架爬取当当网书籍等相关信息。是对scrapy框架实战基础的认识,最详细的巩固scrapy框架使用流程。 阅读详情

来啦,老弟

 

 

 

Python资源共享群:484031800

我们已经知道怎么使用

Requests]

进行各种请求骚操作

也知道了对服务器返回的数据如何使用

正则表达式

来过滤我们想要的内容

大家在学python的时候肯定会遇到很多难题,以及对于新技术的追求,这里推荐一下我们的Python学习扣qun:784758214,这里是python学习者聚集地!!同时,自己是一名高级python开发工程师,从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!每日分享一些学习的方法和需要注意的小细节

...

那么接下来

我们就使用 requests 和 re 来写一个爬虫

作为一个爱看书的你(说的跟真的似的)

 

 

 

 

怎么能发现好书呢?

所以我们

爬取当当网的前 **500 **本好五星评书籍

怎么样?

 

 

 

 

ok

接下来就是

学习 python 的正确姿势

请在电脑的陪同下

边看本文边练习

首先我们要对我们的目标网站进行分析

先摸清对方的底

我们才能战无不胜

 

 

 

 

打开这个书籍排行榜的地址

http://bang.dangdang.com/books/fivestars/01.00.00.00.00.00-recent30-0-0-1-1

我们可以看到是这样的一个网页

 

 

 

 

每一页显示 20 本书

当我们点击下一页的时候

你可以发现地址变了

http://bang.dangdang.com/books/fivestars/01.00.00.00.00.00-recent30-0-0-1-2

也就是我们翻到第几页的时候

链接地址的最后一个参数会跟着变

那么我们等会在 python 中可以用一个变量

来实现获取不同页数的内容

 

 

 

 

接着

用我们之前说的Chrome 骚操作

来分析一下

我们要的内容是怎么请求的

以及

返回给我们的源代码是什么样的

 

 

 

 

可以看到

我们通过 GET 请求

 

 

 

 

我们的请求头

 

 

 

 

这是服务器返回来的数据

 

 

 

 

接着我们再来分析一下我们要抓取的关键信息

 

 

 

 

我们要的就是前 500 本书的

排名

书名

图片地址

作者

推荐指数

五星评分次数

价格

通过源码我们可以看到

这些信息被放在了 <li> 标签中

 

 

 

 

 

 

 

 

那么我们等会就可以使用

来进行过滤我们要的信息

一顿分析完了之后

接下来撸代码了

 

 

 

 

主要思路

使用 page 变量来实现翻页

我们使用 requests 请求当当网

然后将返回的 HTML 进行正则解析

由于我们暂时还没学到 数据库

所以解析完之后就把内容存到文件中

​

def main(page):
   url = 'http://bang.dangdang.com/books/fivestars/01.00.00.00.00.00-recent30-0-0-1-' + str(page)
    html = request_dandan(url)
   items = parse_result(html) # 解析过滤我们想要的信息
   for item in items:
       write_item_to_file(item)

 

​

请求当当网

当我们请求成功之后

拿到源代码

​

def request_dandan(url):
   try:
       response = requests.get(url)
       if response.status_code == 200:
           return response.text
   except requests.RequestException:
       return None

 

​

拿到源代码了

就要对其解析

使用正则表达式获取我们想要的关键信息

获取到了之后我们封装一下数据

​

def parse_result(html):
   pattern = re.compile('<li>.*?list_num.*?(\d+).</div>.*?<img src="(.*?)".*?class="name".*?title="(.*?)">.*?class="star">.*?class="tuijian">(.*?)</span>.*?class="publisher_info">.*?target="_blank">(.*?)</a>.*?class="biaosheng">.*?<span>(.*?)</span></div>.*?<p><span\sclass="price_n">¥(.*?)</span>.*?</li>',re.S)
    items = re.findall(pattern,html)
   for item in items:
       yield {
           'range': item[0],
           'iamge': item[1],
           'title': item[2],
           'recommend': item[3],
           'author': item[4],
           'times': item[5],
           'price': item[6]
       }

 

​

打印一下看看结果

​

for item in items:
       print(item)

 

​

可以看到这样的数据

 

 

 

 

没毛病

现在我们获取的是第 1 页的数据

如何自动获取 25 页 500 条数据呢

来个 for 循环呗

​

if __name__ == "__main__":
   for i in range(1,26):
       main(i)

 

​

获取完 500 本书的数据之后

存到 book.txt 文件

​

def write_item_to_file(item):
   print('开始写入数据 ====> ' + str(item))
   with open('book.txt', 'a', encoding='UTF-8') as f:
       f.write(json.dumps(item, ensure_ascii=False) + '\n')
       f.close()

 

​

完成

项目跑起来

 

 

 

 

 

 

 

 

打开我们存储的 book.txt 看看

 

 

 

 

前 500 本书的数据就被我们拿到啦

 

 

 

爬虫项目实战十一:爬取当当网商品信息 爬取当当网商品信息目标项目准备网站分析页码分析反爬分析代码实现效果显示 目标 批量爬取当当网商品信息,保存为csv文件到本地。 项目准备 软件:Pycharm 第三方库:requests,fake_useragent,lxml,csv 网站地址:http://search.dangdang.com/ 网站分析 打开网站页面,去搜索一种商品,比如豆豆鞋。 可以看到: http://search.dangdang.com/?key=%B6%B9%B6%B9%D0%AC&act=input key= 阅读详情

相关推荐

当当网书籍数据爬取及可视化分析

提取书名df['书名'] = df['标题'].apply(lambda x:x.split('(')[0])# 提取书籍简介df['书籍简介'] = df['标题'].str.extract('.*?((.*?))')# 如果为空,用True替代df['书籍简介'].fillna('无', inplace=True)# 提取评论数df['评论数'] = df['评论'].astype('int64')df.head(1)

m0_64212248的博客 3119

【爬虫】4.5 实践项目——爬取当当网站图书数据

Scrapy框架+Xpath信息提取方法设计商城(这里用的当当网)商品信息网站及爬虫程序,以关键字“书包”(python)搜索页面的商品,爬取(学号相关的特定某几个页面(最后一位,页面大于3)及限定数量商品(最后3位))商品信息。1. 功能描述2. 程序的结构设计下面两个特定数量爬取写了两个管道 pipelines_1.py, pipelines_2.py。

Jack 1万+

爬虫百战(一):爬取当当网Top500本五星好评书籍

爬取当当网Top500本五星好评书籍==实战前提:==准备工作撸代码成果展示 实战前提: 掌握requests库的使用 熟悉re库,正则表达式的简单使用 可参考我的另外两篇博客进行学习 准备工作 1.打开当当网书籍排行榜的网址: 五星图书排行榜 打开之后可以看到: 可以发现: 每一页显示二十本书 点击下一页发现地址发生改变: 第二页 http://bang.dangdang.com/boo...

shy-2的博客 3172

爬虫笔记22——当当网图书详情页静、动态数据爬取

当当网内容简介动态数据获取

Yima_Dangxian的博客 1257

Python第一个爬虫,爬取当当网 Top 500 本五星好评书籍

来啦,老弟 我们已经知道怎么使用 Requests] 进行各种请求骚操作 也知道了对服务器返回的数据如何使用 正则表达式 来过滤我们想要的内容 … 那么接下来 我们就使用 requests 和 re 来写一个爬虫 作为一个爱看书的你(说的跟真的似的) 怎么能发现好书呢? 所以我们 爬取当当网的前 **500 **本好五星评书籍 怎么样? ok 接下来就是 学习 python 的正确姿势 请在...

web开发与Python 1220

Nvidia Tesla A100 驱动安装方法

Nvidia Tesla A100 驱动安装方法 遇到的问题:以前安装tesla系列、geforce系列等gpu 驱动的时候,只需执行nvidiaxxxx.run驱动包或者安装nvidiaxxxx.rpm包即可,但遇到新的GPU Nvidia Tesla A100的时候,安装完驱动似乎不起作用,找了半天资料,原来需要以下步骤才可以使用;

qq_24343177的博客 2万+

使用PyCharm编写爬虫程序,爬取当当网 Top 500 本五星好评书籍

获取到源代码,对其进行解析,使用正则获取想要的关键信息,获取到之后封装数据。我们就使用 requests 和 re 来写一个爬虫。那么我们等会在 python 中可以用一个变量。那么我们等会在 python 中可以用一个变量。3.首先我们要对我们的目标网站进行分析。那么我们等会就可以使用正则表达式。链接地址的最后一个参数会跟着变。链接地址的最后一个参数会跟着变。我们要的就是前 500 本书的。我们可以看到是这样的一个网页。也就是我们翻到第几页的时候。也就是我们翻到第几页的时候。

欢迎来到我的小家 1449

华为eNSP实战:手把手教你配置DHCP全局地址池(含AP固定IP分配)

本文通过华为eNSP模拟器,详细演示了如何配置DHCP全局地址池,为不同业务VLAN动态分配IP地址,并重点讲解了如何通过MAC地址绑定为接入点(AP)分配固定IP。文章涵盖了从拓扑设计、基础网络搭建到地址池精细配置、验证测试及常见故障排查的全流程,是网络工程师掌握企业级DHCP部署与AP管理的实用指南。

weixin_29235923的博客 600

Python 爬虫项目实战(四):爬取当当网好评榜 Top 500

网络爬虫(Web Crawler),也称为网页蜘蛛(Web Spider)或网页机器人(Web Bot),是一种按照既定规则自动浏览网络并提取信息的程序。爬虫的主要用途包括数据采集、网络索引、内容抓取等。robots.txt大多数网站都有一个robots.txt文件,规定了哪些页面允许被爬取,哪些不允许。爬虫应当尊重这些规则。通过以上方法和原则,可以编写高效、可靠且合规的网络爬虫来满足数据采集的需求。

Flag少侠的博客 9409

【知识图谱】一文看懂知识图谱的搭建实践与科普教程(5万字完结篇)

所有可能的实体对:(“Mate40”,“华为”), (“Mate40”,“手机”), (“华为”,“手机”)。送入关系模型分类,预期输出 (“Mate40”,“华为”): 品牌, (“Mate40”,“手机”): 属于类别, (“华为”,“手机”): 无关系。,定义了图谱中概念和关系的类型层次结构,相当于知识图谱的“纲领”和“schema”。训练完成后,当模型看到新的句子,比如“苹果的MacBook笔记本性能强大”,识别出实体“苹果”(品牌)和“MacBook”(产品)后,就能正确输出关系“品牌”。

weixin_41645791的博客 2614

STM32 RC522串口驱动程序 (简单直接)

rc522作为使用非常多的读写卡芯片,使用SPI芯片读写应用已经非常广了。但有些时候我们只有串口可以使用,或者我们觉得串口使用更加方便,那么就必须要编写串口的驱动程序。不过很难找到可以直接使用的串口程序。所以在此将我这边写好的串口驱动写好如下: 直接上代码 下面是RC522.C的驱动文件。支持读写卡号8位数据。rc522用的是stm32 的串口3,调试显示是串口1; #include "rc522.h" #include "delay.h" /////////////////////////////////

qq_42074368的博客 9001

爬取当当网 Top 500 本五星好评书籍

文章目录一、分析页面确定需要获取的信息二、实现爬取代码 一、分析页面确定需要获取的信息 页面通过控制 URL 的最后一个参数,实现分页 确定我们想要获取的信息:排名、书名、图片地址、作者、推荐指数、五星评分次数、价格 通过审查元素,确定怎么得到这些信息(正则) 3.确定思路 使用 page 变量实现分页,使用request 请求当当网,对返回的 HTML 进行正则解析,解析之后的内容存到文...

南淮北安的博客 1465

Power BI财销一体分析——KPI分析应用实践

第九步:插入三个散点图,行拖入分销商表分销商字段,将度量值中的销量拖入X轴,将利润拖入Y轴,大小拖入度量值总销售额,将分销商表业务类型字段作为筛选条件添加给散点图,分别选择专业自行车店、增值经销商、仓库,使视觉对象固定显示不同业务类型的散点分布。这个公式其实是不需要我们自己写的,依赖于快度量值功能星级评分,基值选择度量值总销售额,星数选择5,最低星值评分选择0,最高星级评分值选择100,点击添加,星级评分度量值就建立好了,接下来我们理解一下公式。好的,今天的讲解就到这里。

BI瓶子的博客 1553

python爬虫06 | 你的第一个爬虫,爬取当当网 Top 500 本五星好评书籍

来啦,老弟 我们已经知道怎么使用 Requests 进行各种请求骚操作 也知道了对服务器返回的数据如何使用 正则表达式 来过滤我们想要的内容 ... 那么接下来 我们就使用 requests 和 re 来写一个爬虫 作为一个爱看书的你(说的跟真的似的) 怎么能发现好书呢? ...

weixin_30780221的博客 303

Transformer 跨界物理建模:探索模拟动态物理系统方法与实践(PINN、流体力学、有限元)

是一个由 Nicholas Zabaras 团队开发的开源项目,托管于 GitHub,旨在将 Transformer 模型(最初在自然语言处理领域大获成功)应用于物理系统的建模与预测。该项目基于论文 ​*“Transformers for Modeling Physical Systems”*​(Neural Networks, 2022),探索了深度学习中的 Transformer 架构如何通过自注意力机制和 Koopman 嵌入来模拟动态物理系统。

源代码杀手的博客 1191

高斯过程的数学理解

G澳大利亚的过程是有益的,特别是当我们有少量数据时。当我在制造业担任数据科学家时,我们的团队使用这种算法来揭示我们接下来应该进行哪些实验条件。但是,此算法不如其他算法流行。在这篇博客中,我将通过可视化和 Python 实现来解释高斯过程 [1] 的数学背景。

gongdiwudu的专栏 3610

python爬虫什么书好_python爬虫06 | 你的第一个爬虫,爬取当当网 Top 500 本五星好评书籍...

来啦,老弟我们已经知道怎么使用进行各种请求骚操作也知道了对服务器返回的数据如何使用来过滤我们想要的内容...那么接下来我们就使用 requests 和 re 来写一个爬虫作为一个爱看书的你(说的跟真的似的)怎么能发现好书呢?所以我们爬取当当网的前 500本好五星评书籍怎么样?ok接下来就是请在电脑的陪同下边看本文边练习首先我们要对我们的目标网站进行分析先摸清对方的底我们才能战无不胜打开这个书籍排行...

weixin_39747511的博客 165

ESP32-CAM 赋能 AI 视觉巡检小车:自主避障与目标追踪实现全解析

本文基于 ESP32-CAM 实现了低成本 AI 视觉巡检小车的核心功能,硬件成本<100 元,兼顾自主避障与目标追踪。算法升级:移植 YOLOv5nano 量化模型(INT8),提升目标检测精度(如识别巡检场景中的 “异常物体”“人员”);无线拓展:通过 MQTT 协议将巡检图像、距离数据上传到阿里云 / 腾讯云,实现远程监控;多传感器融合:增加温湿度(DHT11)、红外测温(MLX90614)模块,扩展巡检维度;路径规划:结合 SLAM 算法,实现自主建图与路径巡检。

weixin_42300449的博客 368

python爬虫好的书_Python第一个爬虫,爬取当当网 Top 500 本五星好评书籍

来啦,老弟我们已经知道怎么使用Requests]进行各种请求骚操作也知道了对服务器返回的数据如何使用正则表达式来过滤我们想要的内容...那么接下来我们就使用 requests 和 re 来写一个爬虫作为一个爱看书的你(说的跟真的似的)怎么能发现好书呢?所以我们爬取当当网的前 500本好五星评书籍怎么样?ok接下来就是学习 python 的正确姿势请在电脑的陪同下边看本文边练习首先我们要对我们的目标...

weixin_39889337的博客 200

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

python爬虫什么书好_python爬虫入门06 | 爬取当当网 Top 500 本五星好评书籍

来啦,老弟 image我们已经知道怎么使用Requests进行各种请求骚操作也知道了对服务器返回的数据如何使用正则表达式来过滤我们想要的内容…那么接下来我们就使用 requests 和 re 来写一个爬虫作为一个爱看书的你(说的跟真的似的) imagePython学习交流群:556370268,这里有资源共享,技术解答,还有小编从最基础的Python资料到项目实战的学习资料都有整理,希...

weixin_39858245的博客 134

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

51本python精品书籍_Python第一个爬虫,爬取当当网 Top 500 本五星好评书籍

来啦,老弟我们已经知道怎么使用Requests]进行各种请求骚操作也知道了对服务器返回的数据如何使用正则表达式来过滤我们想要的内容...那么接下来我们就使用 requests 和 re 来写一个爬虫作为一个爱看书的你(说的跟真的似的)怎么能发现好书呢?所以我们爬取当当网的前 500本好五星评书籍怎么样?ok接下来就是学习 python 的正确姿势请在电脑的陪同下边看本文边练习首先我们要对我们的目标...

weixin_39938522的博客 139

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

python爬虫源代码_python爬虫06 | 你的第一个爬虫,爬取当当网 Top 500 本五星书籍...

来啦,老弟我们已经知道怎么使用python爬虫04 | 长江后浪推前浪,Requests库urllib库拍在沙滩上进行各种请求骚操作也知道了对服务器返回的数据如何使用python爬虫05 | 年轻人,不会正则表达式你睡得着?有点出息没有来过滤我们想要的内容...那么接下来我们就使用 requests 和 re 来写一个爬虫作为一个爱看书的你(说的跟真的似的)怎么能发现好书呢?所以我们爬取当当网的前...

weixin_39955938的博客 173

request+BeautifulSoup Top 500 本五星好评书籍

Python,reque+BeautifulSoup

flyskymood的博客 540
上一篇: Python基础语法–分支语句介绍!
下一篇: 如何在 Python 中用中文做数学运算?
普通网友
博客等级 码龄7年 438粉丝 263原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值