分享好友 最新资讯首页 最新资讯分类 切换频道
最简单的python爬虫案例,适合入门学习
2024-12-29 13:31

用python从网页爬取数据,网上相关文章很多,但能让零基础初学者轻松上手的却很少。可能是有的作者觉得有些知识点太简单不值得花费精力讲,结果是难者不会会者不难,初学者常常因此而蒙圈。本人也是小白,刚摸索着爬了两个简单的网页数据,经历了初学者易犯的各种糊涂,特总结分享一下,希望能对小白们有用。

python爬网络数据,方法很多。不同的python版本、不同的模块、库,对应代码都不同。所以,在看他人代码时,需要搞清代码环境所用的版本和使用的模块库等信息。因为如果环境不同,相同的代码也可能没用。初学者往往看到一篇文章讲的代码,复制过来就用,结果就是各种错误,这就是因为环境不同造成的。

没有模块的,pip安装一下就好。安装方法:点击电脑左下角开始——输入cmd回车,弹出cmd.exe界面——在界面上输入pip install requests回车,稍后,提示安装成功即完成了requests模块的安装。BeautifulSoup解析库是属于bs4模块的一个功能块,所以,用pip安装时,要安装pip install bs4。

建好了代码环境,就可以开始爬数据了,无论什么代码环境,爬虫核心都是这4步。对新手来说,每一步都不简单,我们通过一个简单的爬取一篇小说代码,来看看到底是怎么爬数据的。

用代码向网络发出请求,请求访问某个网址,首先我们得在代码中给出具体的网址信息,比如上面截图的网址是
https://www.biqiuge.com/book/4772/2940354.html

那这个网址是怎么得到的呢,常规方法是通过浏览器的开发者工具,我是用的360浏览器,点击右上角的工具菜单,点击开发者工具即可,打开后的界面如下图3-2

有了网址,发出请求的代码为

 

访问请求的反馈结果放在response里了,这时我们用print(response)看看这个结果到底是什么?运行结果为:<Response [200]>

这是个什么鬼?怎么不是我们想要的网页内容呢?解释一下

运行结果的意思是:响应状态为成功。可以放心写后面的代码了。如果出现数字404,就是没找到页面的意思,响应不成功。响应结果还需要解析才能得到网页内容。

上面说了,已经请求访问并响应成功了,接下来就是如何获得具体网页内容了。

 

我们用print(soup)看一下结果,就会得到下图3-6的结果

所有要爬取的数据,都在上面的soup结果里,但还有更多是我们不需要的数据。所以接下来第3步就是对上面的结果内容进行操作,以获得我们想要的内容。

1)根据目标,我们首先要获得小说的标题和章节标题

在开发者工具里,分析网页内容,发现我们的目标之一小说和章节的标题分别位于下图所示位置

 
 

很明显第一个相对比简单点,所以,我们通过解析第一个位置内容来提取出标题“圣墟”

 

代码解析: 上面两处标题都位于<a,…/a>之间,所以“a”就是我们要用的第一个参数,由于有a参数的代码还有很多,为了精准定位就是这个位置的a,我们发现属性href的值不同而且貌似是独一无二的,所以将其作为关键字放进代码里,就得到了此处的这段代码。然后用.get_text()将这段代码里的文字给爬取出来,就得到了我们最终想要的小说标题——“圣墟”。上面的代码如果将href的参数值改为:’
https://www.biqiuge.com/book/4772/',也能得到相同的结果

B、章节标题在网页代码中也出现过多次,但是我们只需找到一处解析得到即可,根据上面的经验,我们选最简单的一处为

 

编写代码

 

2)获得小说内容

继续分析网页代码,发现小说内容的位置为

 

说明小说内容位于<div …/div >之间,所以将div作为第一个参数,由于div出现了很多次,所以我们需要继续用此处独有的参数作为关键字,我们将id=“content” class="showtxt"同时作为参数放到代码里,这样代码就为

 

此时,由于class在python里代表“类”,为敏感词,作为关键字放在代码里容易混淆,所以我们将敏感词作为关键字时,需要在其后面加一个下划线,将代码class="showtxt"改为:class_=“showtxt”。运行后,小说内容就已经在tt里了。我们可以通过print(tt)看到效果。

虽然小说标题、内容都已经爬取到了,但到哪里看呢,我们不可能每次都用python用print()运行后看。我们可以将刚才爬取到的标题、内容,写入到一个txt文件里。这就用到os模块了。

此时运行程序,就能在e盘发现已新生成了文件“小说.txt文件",打开,发现,所有想要的内容已经写入到文件里了如图3-8。但是小说内容没有换行,阅读起来不方便,且前面有个多余的app2()。

 

优化为

 

即将app2()和空格符都替换为换行符。运行后得到效果为

其实,该网址内容完全可以直接复制就能得到,本文之所以还大费周章进行爬取,不过是借用这个简单的静态网页,体验一下爬虫4步骤的流程,为后续批量爬取网页中的小说、图片以及爬取动态网页数据做基础。

 
 

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助

一、Python所有方向的学习路线

二、Python必备开发工具

三、精品Python学习书籍

四、Python视频合集

五、实战案例

六、Python练习题

七、面试资料

这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【】
最新文章
魅影直播:一个创新互动和丰富娱乐内容并重的全新直播平台!
随着网络直播的普及,各种直播平台层出不穷,其中“魅影直播”凭借其独特的特色和创新玩法,逐渐吸引了大量用户的关注。作为一款
在Docker容器里安装WebSphere
记录下在在Docker容器里安装webshpere的步骤,前提是已经安装好了docker,能够正常使用。(1)docker安装websphere1.  获取镜像
哔哩哔哩b站引流获客策略与广告开户详细指南
B站引流获客策略与广告开户详细指南一、B站作为年轻人群娱乐平台的价值挖掘B站,这个充满活力与创意的视频分享平台,已逐步成为
竞价排名,如何让你的网站在竞争中胜出?
竞价排名是一种非常有效的网络营销策略,它可以让你的网站在搜索引擎结果页(SERP)中获得更高的排名,从而吸引更多的潜在客户。
“雪亮工程”大项目:这8个省市最值得关注,占全国6成多
    【CPS中安网 cps.com.cn】 2023年,受整个经济大环境的影响,各地千万级“雪亮工程”及社会治安视频监控项目招标大幅压
《爱在日落时》短剧在线观看,霸道少爷爱上我(电视剧)短剧在线观看,霸道少爷爱上我100集免费短剧在线观看
在线观看短剧《爱在日落时》及电视剧《霸道少爷爱上我》。这部短剧共100集,讲述了一段动人的爱情故事。剧中,一个霸道的少爷在
蛛丝马迹:“蓝艺传媒”是騙局吗?被骗不允许你还不知道,真相令人无法相信!
某天晚上,柳先生玩手机,浏览到一个网站,里面弹出一个链接被骗!不可信!细节回想就是猫腻揭开!!,在好奇心的驱使下,柳先生下载
淘宝新3:4闪图引流技术有什么运用
2019年01月02日王瑞-专研各种淘宝技术并持续更新,淘宝图片技术:如淘宝双图技术,淘宝白图技术等; 淘宝标题技术:如淘宝关键词
手机怎么屏蔽网址
在现代社会,智能手机已成为我们日常生活中不可或缺的一部分。然而,有时我们可能希望屏蔽某些网址,以避免访问不安全或不适宜的
寺库手表 国内疫情后奢侈品消费高速反弹,年轻一代成消费主力
寺库手表 国内疫情后奢侈品消费高速反弹,年轻一代成消费主力研究|陈小雅写 |赵子孟随着国内疫情消退,国民消费逐步恢复。其中,