怎样利用Python爬取小说,这个小实例告诉你
off999 2024-10-04 00:20 38 浏览 0 评论
今天主要分享如何抓取网页信息,并生成txt文件内容!
Python抓取网页技能——Python抓取网页就是我们常看见的网络爬虫,我们今天所要用到的就是我们Python中自带的模块,用这些模块将网页内容爬取下来,并生成一个txt文件。
(一)实例思路:
我们所需要用到的模块:
urllib2—urllib2是Python的一个获取URLs(Uniform Resource Locators)的组件。他以urlopen函数的形式提供了一个非常简单的接口,这是具有利用不同协议获取URLs的能力,他同样提供了一个比较复杂的接口来处理一般情况,例如:基础验证,cookies,代理和其他。
re—Python的re模块就是我们开始想知道的大名鼎鼎的正则表达式,正则表达式(可以称为REs,regex,regex pattens)是一个小巧的,高度专业化的编程语言,它内嵌于Python开发语言中,可通过re模块使用。正则表达式的pattern可以被编译成一系列的字节码,然后用C编写的引擎执行。
re—正则表达式我们本节就不去重点讲了,基础同学们可以去看看正则表达式的详细内容:http://www.runoob.com/python/python-reg-expressions.html。在我的博客中有详细的正则表达式(字符)详解!
那么接下来我们开始我们的小实例——爬取百度贴吧小说!
首先我们要明确一下我们项目的思路:
# -*- coding: utf-8 -*-
#模块:urllib2, re。
#正则表达式:------想要的内容 findall(正则表达式,源码)
#百度贴吧爬取内容:1.获取源码
# 2.解析超链接
# 3.获取标题
# 4.获取内容
# 5.发送命令,调用主函数
我们在进行项目时要将整体突出程序化,那么我们开始第一步的实施调取Python中自带的模块:
将我们所需的模块插入后,我们开始项目的实施:
上述代码是我们要获取的网页源码信息,因为我们需要多方面的爬取我们想要的内容,所以我们创建一个类来实现其中所有函数的功能。
baseUrl就是我们想要获取的网址!
网址获取到了之后,我们要定义一个函数,来获取我们想要获取的网页信息,在函数中我们定义了两个变量,这两个变量是我们正则匹配时要需要用到的!
我们在其中所用到的:
这样的语句就是判断我们的程序有没有错误,看我们是否获取到我们想要的信息,如果没有获取到就给编译器返回一个e值!
接下来我们要使用我们的正则表达式来获取其中我们想要的内容了!
这一段定义的函数是将我们所获取到的网页信息,匹配到我们想要的位置,然后截取下来!并且将网页匹配的信息生成一个text1.txt的文本文件,‘w’就是写入信息!
这里我们就用到了re模块中的包含一个重要函数是compile(pattern [, flags]) ,该函数根据包含的正则表达式的字符串创建模式对象。
参数描述:
pattern匹配的正则表达式string要匹配的字符串。
flags标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。
接下来我们再看另一个re模块中的函数python 正则表达式 re findall 方法能够以列表的形式返回能匹配的子串。
re.findall(pattern, string[, flags]):
我们来看一下这个函数的实例:
将我们我所要查询到的数字以列表的形式输出出来!
在这段代码中,我们用到了Python文件写入,这个地方就是生成我们txt文本文件的地方,同学门可以找找详细的资料来研究一下,这里是对于想保存长期看的同学有很大的帮助哦!在这里我就不详细讲解了!
我们继续我们的项目:
此处的代码就是我们要完成我们真正所需要的内容了,这里是完整的将我们所需要的小说爬取到手的,这里面用的正则匹配就是我们的贪婪匹配模式了!
那么这一部分还是我们在上一匹配到的内容中,将class标签中的全部文字内容提取出来,但是其中我们会看到包含了很多img http等很多小标签,所以我们还需要将这些内容利用正则匹配中的sub函数将他们装换为空“ ”!
这一串代码就是我们想要把其中像re.compile('<a.*?>|</a>')这样的内容获取到,然后再利用我们的sub函数将这些获取到的内容装换为“ ”空白!然后在输出到 i 这个列表中!最后将 i 输出!
我们在结尾处需要做一个程序运行无误的判断,那么我们就需要用到在编译器中给我们返回我们程序运行的开始!文件的生成结果:
在这里我们要调用我们所创建的类,在这一个try中我们看到了一个range的函数,这个函数就是如果你需要一个数值序列,使用内建函数range() 会很方便,它产生等差级数序列。利用这个函数的意思就是我们要获取小说的全部内容!最后我们生成一个text1.txt的文件你就可以打开查看你想看的小说了哦!
今天的分享就到这里了,喜欢这篇文章的话记得转发+评论哦!
最重要的来了~~私信回复“01”可以获得更多免费爬虫资料哦,而且是视频教程哦!
相关推荐
- 两台电脑怎么共享文件夹(如何把电脑c盘的存储移到d盘)
-
一、QQ共享简单易行既然使用QQ直接传递文件行不通,那么不妨试试使用QQ的文件共享功能。1.共享文件点击QQ面板的“菜单”→“工具”→“共享文件”命令。在打开的共享文件窗口中,单击“新建共享”按钮,...
- 怎么查看电脑产品密钥(怎么查看自己电脑产品密钥)
-
准备工具:电脑1.打开电脑,在电脑中找到我的电脑选项,双击该选项打开我的电脑进入我的电脑主页面。2.在我的电脑主页面中找到磁盘下方的空白位置,鼠标右键单击该位置调出功能选项框。3.在功能选项框中找到下...
- 不知道密码怎么连接wifi网络
-
不知道WiFi密码怎么连接,如果你不知道WiFi密码的话,那我没有办法连接网络,你必须去找WiFi密码是主人,然后询问密码,只有你得到了最准确的密码以后,你才可以开启你的WiFi网络设置,然后输入正确...
- u盘写了保护怎么把保护删掉了
-
U盘写保护可以通过以下几种方法去除:1.取消U盘的写保护开关。有些U盘上面自带写保护的开关,如果被拨到写保护状态时,就会对U盘进行写保护,这种情况解决的办法最简单,直接将开关拨回原位即可。2.修复...
- 深度ghost精简xp(深度ghost文件)
-
windowsxp下运行ghost方法如下:1、首先把GHOST.EXE程序复制到你的硬盘某区上(不要是C区,假如是E区)。2、然后重新启动电脑,重启过程中按DEL键进入BIOS设置,设置为从光驱启...
- 固态硬盘如何安装(固态硬盘如何安装系统)
-
1、首先要在在机箱内找到固态硬盘安装的电源连接线,是从电脑的电源引出的一根线。形状是扁嘴形上面一般印着一个白色的“P4”2、然后要在主板上找固态硬盘的数据接口,用于数据输入输出,俗称SATA接口,再找...
- windows怎么打开注册表(windows怎么打开注册表管理器)
-
方法一、直接打开注册表1、点击屏幕左下角的“开始”按钮,再点击“运行”;2、或者直接按Win键+R键,打开“运行”对话框;3、在“运行”输入框中输入“regedit”命令;4、这样就能够打开注册表编辑...
- windows7安装windows10(windows7安装光盘下载)
-
在安装Win7时,出现提示“Windows无法安装到这个磁盘。这台计算机的硬件可能不支持启动到此磁盘。请确保在计算机的bios菜单中启用了磁盘的控制器。” 解决方法: 1.如果之前你做过BIOS设置,...
-
- 装机配置模拟器(装机配置模拟器教程)
-
装机模拟器2好装机模拟器2装系统方法1.在游戏PC装机模拟器里,有时候我们修理好电脑之后,发现电脑没有安装操作系统,这时候应该先安装系统。2.第一步,点击PC装机模拟器游戏,登录游戏。3.第二步,进入游戏之后,找到需要没有安装操作系统的电脑...
-
2025-11-10 21:51 off999
- 电脑网络正常但是上不了网(网络正常但电脑无法上网)
-
分析如下1、首先检查网卡的问题,打开电脑后,打开电脑右下角的WiFi连接,然后从里面的网络和共享中心检查,打开网络和共享中心后,出现对话框,在对话框左侧上方找到更改适配器设置,单击左键打开,就可以发现...
- vs2008安装包下载(vs2008下载官方下载)
-
vs2008是面向WindowsVista、Office2007、Web2.0的下一代开发工具,VS2008引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。使用V...
- cad2018序列号(cad2018序列码)
-
AutoCAD2018序列号和密钥:序列号:356-72378422,666-69696969,667-98989898,400-45454545,066-66666666等密钥:001J1CA...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
慕ke 前端工程师2024「完整」
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
