小白分析2:豆瓣图书top250爬虫(静态页面)

本文介绍了作者使用Python爬虫抓取豆瓣图书Top250的实践过程,涉及requests和BeautifulSoup模块的运用。文章详细阐述了网络爬虫的基本流程,包括发起请求、获取响应、解析内容和保存数据,并针对遇到的问题如空值处理进行了讨论和解决方案的分享。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python爬虫公认的练手项目就是豆瓣top250的图书和电影的抓取,静态页面且源码简单明了,之前也曾对着大神的例子边敲边理解,今番尝试自己动手,检验一下学习成果。

所用的方法不是最简单的,只是自己理解的一种,还有很多问题,写下来留待以后改正。

用时:5小时(呵呵,真有趣)


第一次编辑遇到的问题:

1、作者项抓取包括许多其他信息,未能分开抓取;(split()方法解决)

2、第9页开始简介项数据为空,程序自动停止。(改用css选择器单独抓取解决,css方法更简单,直接遍历所有的div块再取即可)

写在代码前:

用到的模块:requests和BeautifulSoup

requests:实现爬虫的发起请求和获取响应动作。个人不习惯使用内置的urllib3,用起来总是出错。

BeautifulSoup:一个方便的网页解析库,处理高效,支持多种解析器,抓取requests返回的网页html信息。大部分情况下,利用它我们不在需要编写正则表达式就可以方便的实现网页信息的提取。

两个模块的用法简介请参考下面的链接:(讲解很直白,适合需求不高的新手)

requests:https://www.jqhtml.com/13264.html

BeautifulSoup:https://www.jqhtml.com/13272.html

 


网络爬虫的基本流程:

1、发起请求:

通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的headers等信息,然后等待服务器响应。这个请求的过程就像我们打开浏览器,在浏览器地址栏输入网址:www.baidu.com,然后点击回车。这个过程其实就相当于浏览器作为一个浏览的客户端,向服务器端发送了 一次请求。

2、获取相应内容:

如果服务器能正常响应,我们会得到一个ResponseResponse的内容便是所要获取的内容,类型可能有HTMLJson字符串,二进制数据(图片,视频等)等类型。这个过程就是服务器接收客户端的请求,进过解析发送给浏览器的网页HTML文件。

3、解析内容:

得到的内容可能是HTML,可以使用正则表达式,网页解析库进行解析。也可能是Json,可以直接转为Json对象解析。可能是二进制数据,可以做保存或者进一步处理。这一步相当于浏览器把服务器端的文件获取到本地,再进行解释并且展现出来。

4、保存数据:

保存的方式可以是把数据存为文本,也可以把数据保存到数据库,或者保存为特定的jpg,mp4 等格式的文件。这就相当于我们在浏览网页时,下载了网页上的图片或者视频。


豆瓣图书top250:https://book.douban.com/top250?start=0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值