您现在的位置是:首页 >技术杂谈 >〖Python网络爬虫实战⑱〗- 数据存储之TXT纯文本网站首页技术杂谈

〖Python网络爬虫实战⑱〗- 数据存储之TXT纯文本

爱吃饼干的小白鼠 2023-06-06 20:00:03
简介〖Python网络爬虫实战⑱〗- 数据存储之TXT纯文本
  • 订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000+

                python项目实战

                Python编程基础教程系列(零基础小白搬砖逆袭)

  • 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏的,可以免费订阅付费专栏,可报销(名额有限,先到先得)

        本专栏即将转为付费专栏,更多详情请看下方链接,五一或有优惠活动哦。

关于专栏〖Python网络爬虫实战〗转为付费专栏的订阅说明

  • 作者:爱吃饼干的小白鼠。Python领域优质创作者,2022年度博客新星top100入围,荣获多家平台专家称号。

 最近更新

〖Python网络爬虫实战⑰〗- 网页解析利器parsel实战

🌟上节回顾

        前面一段时间,我们介绍了关于爬虫的几个解析库,学习了正则表达式 XPATH BeautifulSouppyqueryparsel。那么,我们可以获取到了数据,那么,怎么获取下来呢。接下来,这段时间,我们开始学习数据存储。

⭐️TXT纯文本

        我们知道将数据保存到 TXT 文本的操作非常简单,而且 TXT 文本几乎兼容任何平台,可以说是无处不在。但是这个这有个很大的缺点,那就是不利于检索。一旦,内容比较多的话,就比较麻烦。但是,对于,新手,这个足够用了,我们也采集不到很多的数据。所以如果对检索和数据结构要求不高,追求方便第一的话,可以采用 TXT 文本存储。

🌟实战案例

        我们在前面的文章,介绍了一个简单的正则表达式实战,当时,我们没有去将如何保存数据,现在,我们来讲一下,如何保存数据。获取数据的代码,我们这里就总结展示了。

import requests
import lxml
from lxml import etree

url='https://www.ruiwen.com/word/jingdianmeiwenzhaichao.html'
headers={
    'user-agent':' Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
    }
#发送请求
response=requests.get(url=url)
content=response.content
doc=etree.HTML(content).xpath('//div[@class="content"]/p')
print(doc)
for p in doc:
    print(p.text)

                我们相信,学到了这里,什么的代码都能看懂了。我们就不过多解释,不懂的地方,在评论区留言。我们接下来,写保存成TXT的代码,其实,这个很简单,也只需要几行代码就可以搞定。

    passage=p.text
    passage=passage+'
'
    with open('小说.txt',mode='a')as file:
        file.write(passage)

        我们这里将打开一个名为“小说.txt”的文件,并将文件中的内容写入该文件中。请注意,代码中使用了字符串的拼接操作符 +,以将字符串连接在一起。mode='a' 参数表示以追加模式打开文件,这意味着写入操作会覆盖原有的文件内容。最后,使用 file.write() 方法将字符串写入文件。

        我们来看看效果:

 

        大家,可以看到,我们已经已经保存到了本地的TXT文件。这里主要是为了演示文件保存的方式,

        这样我们获取数据的内容就被保存成文本形式了。回过头来我们看下TXT保存需要重点了解哪些内容,其实就是文本写入操作——就是 open、write、close 这三个方法的用法。

                这里 open 方法的第一个参数即要保存的目标文件名称;第二个参数为 a,代表以覆盖写入的方式写入文本;另外,我们还指定了文件的编码为 utf-8

🌟打开方式

        在刚才的实例中,open 方法的第二个参数设置成了 a,这样在每次写入文本时不会清空文件里面的内容,然后在之前的内容后面继续写入我们的数据内容,这是一种文件打开方式。关于文件的打开方式,其实还有其他几种,这里简要介绍一下。

  • r:以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

  • rb:以二进制只读方式打开一个文件。文件指针将会放在文件的开头。

  • r+:以读写方式打开一个文件。文件指针将会放在文件的开头。

  • rb+:以二进制读写方式打开一个文件。文件指针将会放在文件的开头。

  • w:以写入方式打开一个文件。如果该文件已存在,则将其覆盖。如果该文件不存在,则创建新文件。

  • wb:以二进制写入方式打开一个文件。如果该文件已存在,则将其覆盖。如果该文件不存在,则创建新文件。

  • w+:以读写方式打开一个文件。如果该文件已存在,则将其覆盖。如果该文件不存在,则创建新文件。

  • wb+:以二进制读写格式打开一个文件。如果该文件已存在,则将其覆盖。如果该文件不存在,则创建新文件。

  • a:以追加方式打开一个文件。如果该文件已存在,文件指针将会放在文件结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,则创建新文件来写入。

  • ab:以二进制追加方式打开一个文件。如果该文件已存在,则文件指针将会放在文件结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,则创建新文件来写入。

  • a+:以读写方式打开一个文件。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,则创建新文件来读写。

  • ab+:以二进制追加方式打开一个文件。如果该文件已存在,则文件指针将会放在文件结尾。如果该文件不存在,则创建新文件用于读写。

🌟文件写入

        文件写入有这样的写法,先open某个文件,在write写入,在close文件,代码示例如下:

f = open('小说.txt', 'a+')
f.write(content + '
')
f.close()

        文件写入还有一种简写方法,那就是使用 with as 语法。在 with 控制块结束时,文件会自动关闭,所以就不需要再调用 close 方法了。我个人呢,也是喜欢这个用法,因人而异吧,大家可以选一个自己喜欢的方式。

⭐️总结

        上面便是利用 Python 将我们获取到的数据保存为 TXT 文件的方法,这种方法简单易用,操作高效,是一种最基本的保存数据的方法。保存TXT文件是非常简单的。

        下一篇文章,我们准备介绍关于CSV文件的保存,如果,大家想多出一点CSV实战的文章,在评论区留言,我就多更一点,如果没有的话,我就一篇文章带过。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。