Python爬虫入门 | 6 将爬回来的数据存到本地

python爬虫数据保存到本地各种格式的方法 最近爬虫又解决了很多问题,算是保存这部分的吧。 首先,我们如果想要抓取本地txt文件中的内容拿到特定网址去搜索。然后爬取搜索结果的话,这个很简单: f=open('C://Python27//1.txt')           #只需要通过这句代码打开你本地对应路径的文件就OK 但是如果你想要打开excel表格呢?这里就需要下载xlrd库。百度搜索就可以,解压。在cmd中进入解压文件夹然后输 阅读详情

 

1.用Python语句存储数据

写文件时,我们主要用到 with open() 语句:

with open(name,mode,encoding) as file:
  file.write()
  # 注意,with open() 后面的语句有一个缩进

name:包含文件名称的字符串,比如:‘xiaozhu.txt’;
mode:决定了打开文件的模式,只读/写入/追加等;
encoding:表示我们要写入数据的编码,一般为 utf-8 或者 gbk ;
file:表示我们在代码中对文件的命名。

 
用我们前面爬的小猪的例子来看一下,实际是什么样的:

from lxml import etree
import requests
import time

with open('/Users/mac/Desktop/xzzf.txt','w',encoding='utf-8') as f:
    for a in range(1,6):
        url = 'http://cd.xiaozhu.com/search-duanzufang-p{}-0/'.format(a)
        data = requests.get(url).text

        s=etree.HTML(data)
        file=s.xpath('//*[@id="page_list"]/ul/li')
        time.sleep(3)

        for div in file:
            title=div.xpath("./div[2]/div/a/span/text()")[0]
            price=div.xpath("./div[2]/span[1]/i/text()")[0]
            scrible=div.xpath("./div[2]/div/em/text()")[0].strip()
            pic=div.xpath("./a/img/@lazy_src")[0]

            f.write("{},{},{},{}\n".format(title,price,scrible,pic))

 
将写入的文件名 xzzf.txt,如果没有将自动创建。

/Users/mac/Desktop/xzzf.txt

在前面加了一个桌面的路径,它将存在桌面,如果不加路径,它将存在你当前工作目录中。

w:只写的模式,如果没有文件将自动创建;
encoding=’utf-8’:指定写入文件的编码为:utf-8,一般指定utf-8即可;

f.write("{}  {}  {}  {}\n".format(title,price,scrible,pic))
#将 title,price,scrible,pic 的值写入文件

 
来看一下存下来的数据是怎样的:

 
如果你没有指定文件路径,怎么找写在本地的文件呢?给你两种方法:

  1. 在 win10 中打开小娜(cortana),搜索你的文件名即可。

  1. 推荐软件“everything”,查询文件更方便快捷。

这个软件非常小,百度很容易找到,但确实是神器用了你会回来感谢我的~

 
所以还是建议你在写代码的时候,老老实实在文件名前面加上你想存放的路径。什么,你连路径怎么写都不知道?好吧,比如我想把文件存在桌面,那么怎么查看路径?

随便找一个文档,比如桌面的文档, 右键 >“属性”,“位置”后面的信息,就是该文档所在的路径了。

 

2.文件存为CSV格式

当然,你也可以将文件存为 .csv 格式,在 with open() 语句后更改文件后缀即可。

from lxml import etree
import requests
import time

with open('/Users/mac/Desktop/xiaozhu.csv','w',encoding='utf-8') as f:
    for a in range(1,6):
        url = 'http://cd.xiaozhu.com/search-duanzufang-p{}-0/'.format(a)
        data = requests.get(url).text

        s=etree.HTML(data)
        file=s.xpath('//*[@id="page_list"]/ul/li')
        time.sleep(3)

        for div in file:
            title=div.xpath("./div[2]/div/a/span/text()")[0]
            price=div.xpath("./div[2]/span[1]/i/text()")[0]
            scrible=div.xpath("./div[2]/div/em/text()")[0].strip()
            pic=div.xpath("./a/img/@lazy_src")[0]

            f.write("{},{},{},{}\n".format(title,price,scrible,pic))

另外,需要注意的是:CSV 每个字段之间要用逗号隔开,所以这里把之前的空格改为了逗号。

 
CSV 文件怎么打开?

一般情况下,用记事本就可以直接打开,如果你直接用 Excel 打开,很有肯能会出现乱码,就像下面这样:

 
Excel 打开 CSV 出现乱码怎么办?

  1. 在记事本中打开文件
  2. 另存为 – 选择编码为“ANSI”

 
再来看看之前的豆瓣TOP250图书写入文件:

from lxml import etree
import requests
import time

with open('/Users/mac/Desktop/top250.csv','w',encoding='utf-8') as f:
    for a in range(10):
        url = 'https://book.douban.com/top250?start={}'.format(a*25)
        data = requests.get(url).text

        s=etree.HTML(data)
        file=s.xpath('//*[@id="content"]/div/div[1]/div/table')
        time.sleep(3)

        for div in file:
            title = div.xpath("./tr/td[2]/div[1]/a/@title")[0]
            href = div.xpath("./tr/td[2]/div[1]/a/@href")[0]
            score=div.xpath("./tr/td[2]/div[2]/span[2]/text()")[0]
            num=div.xpath("./tr/td[2]/div[2]/span[3]/text()")[0].strip("(").strip().strip(")").strip()
            scrible=div.xpath("./tr/td[2]/p[2]/span/text()")

            if len(scrible) > 0:
                f.write("{},{},{},{},{}\n".format(title,href,score,num,scrible[0]))
            else:
                f.write("{},{},{},{}\n".format(title,href,score,num))

 
最后存下来的数据是这样的:

 
好了,这节课就到这里!

白白~

如果你想有专业老师授课、有系统性知识、有实时在线答疑的老师的话,可以加入我们的课程《Python爬虫(入门+进阶)》。

下节预告:Python爬虫入门 | 7 分类爬取豆瓣电影,解决动态加载问题

完整7节课程目录:
Python爬虫入门 | 1 Python环境的安装
Python爬虫入门 | 2 爬取豆瓣电影信息
Python爬虫入门 | 3 爬虫必备Python知识
Python爬虫入门 | 4 爬取豆瓣TOP250图书信息
Python爬虫入门 | 5 爬取小猪短租租房信息
Python爬虫入门 | 6 将爬回来的数据存到本地
Python爬虫入门 | 7 分类爬取豆瓣电影,解决动态加载问题

网络爬虫——python爬取豆瓣评论 网络爬虫,又被称为网络蜘蛛(Web Spider)、网络机器人等。它根据网页地址(URL)爬取网页内容,网页地址(URL)就是我们在浏览器中输入的网站链接。例如:https://www.baidu.com;网络爬虫不仅能够复制网页信息和下载音视频,还可以做到网站的模拟登录和行为链执行。由于需要爬取的网站大多需要先登录才能正常访问,或者需要登录后的cookie值才能继续爬取,所以需要对网站模拟登录。有些网站设置了Referer防盗链,所以需要执行网页浏览行为链。 阅读详情

相关推荐

什么是网络爬虫?有什么用?怎么爬?

随着大数据时代的来临,网络爬虫在互联网中的地位将越来越重要。互联网中的数据是海量的,如何自动高效地获取互联网中我们感兴趣的信息并为我们所用是一个重要的问题,而爬虫技术就是为了解决这些问题而生的。如果只是做搜索引擎,那么感兴趣的信息就是互联网中尽可能多的高质量网页;如果要获取某一垂直领域的数据或者有明确的检索需求,那么感兴趣的信息就是根据我们的检索和需求所定位的这些信息,此时,需要过滤掉一些无用信息。前者我们称为通用网络爬虫,后者我们称为聚焦网络爬虫。

m0_72282564的博客 1980

下载数据集

数据集下载

m0_74430521的博客 1494

【基础】【Python网络爬虫】【1.认识爬虫】什么是爬虫,爬虫分类,爬虫可以做什么

认识爬虫 1.什么是爬虫 2.爬虫可以做什么 3.为什么用 Ptyhon 爬虫 4.爬虫的分类 通用爬虫 聚焦爬虫 功能爬虫 增量式爬虫 分布式爬虫 5.爬虫的矛与盾(重点) 6.盗亦有道的君子协议robots 7.爬虫合法性探究

weixin_43612602的博客 2531

数据竞赛——0

“达观杯”文本智能处理挑战赛第一次 数据竞赛获取数据读取数据数据分割具体实现 第一次 数据竞赛 这是我在学习完Python和机器学习的基本知识后的第一次实践,更是一次成长。 获取数据 在DataCastle中注册,并且报名“达观杯”文本智能处理挑战赛(已经结束,但是任然可以使用),下载比赛数据。 读取数据 数据分为两部分训练数据和测试数据都是CSV格式的,首先通过利用Excel打开数据来进行观察数...

小鬼漫步的博客 728

Python网络爬虫的反爬策略

网络爬虫的反爬机制是网站保护自身资源的重要手段,而爬虫开发者则需要不断应对这些反爬策略。通过伪装User-Agent、使用代理IP、处理验证码、解析动态加载内容和管理Cookie等技巧,可以有效提高爬虫的成功率和稳定性。然而,在爬取数据时,应遵守网站的使用条款和法律法规,尊重网站的知识产权和隐私政策。

shejizuopin的博客 1789

爬取拉勾网的数据并保存到excel中

这个例子用python爬取拉勾网上的数据,并保存到excel中,注意header中的数据最好自己用浏览器得到,并替换一下。

网络爬虫之数据保存

通过案例带你了解网络爬虫的数据保存方式。

Uncle_wangcode的博客 2047

Windows 10/11系统下TurboDesign 6.4.0完整安装指南(附序列号+破解补丁)

本文提供Windows 10/11系统下TurboDesign 6.4.0的完整安装指南,涵盖系统环境预检、安装程序部署、序列号处理及破解补丁部署等关键步骤。通过详细的安装教程和优化配置,帮助用户高效完成这款涡轮机械设计软件的安装与调试,解决常见兼容性问题。

s4t5u6v的博客 1030

【Python】用xpath爬取网页文字保存到txt中(含有文字解码代码)

hello😁,大家好,最近新学习了xpath在网站上爬取静态文字,就想着做一个东西,恰好前几天翻看博客是看到了wordcloud(词云)⛅这个库,就有一个想法涌入我的脑中,爬取2022年比较火的几个梗生成词云。但是受技术的限制好多想法实现不了,比如想让词云上某个梗的大小由某个梗的热度决定……

刘佳皓_Leo 4093

ESP32-S3 USB下载模式深度解析:从UART0到TinyUSB的硬件设计与避坑指南

本文深度解析ESP32-S3的三种USB下载模式:UART0、Hardware CDC和基于TinyUSB的USB-OTG CDC。详细探讨各模式的硬件设计要点、电平异常问题、eFuse配置及避坑指南,帮助开发者优化设计,提升量产效率和系统稳定性。

gold的博客 1290

Python爬虫实战:手把手教你用Selenium绕过药监局网站的反爬机制(附完整代码)

本文详细介绍了如何使用Selenium绕过药监局网站的反爬机制,提供了一套完整的Python爬虫实战方案。通过浏览器指纹伪装、动态等待策略、会话维持技巧以及分布式采集设计,帮助开发者高效爬取药监局数据,解决政府类网站常见的反爬挑战。

weixin_42620255的博客 738

python扒数据存到本地_Python爬虫入门 | 6 将爬回来的数据存到本地

1.用Python语句存储数据写文件时,我们主要用到 with open() 语句:with open(name,mode,encoding) as file:file.write()# 注意,with open() 后面的语句有一个缩进name:包含文件名称的字符串,比如:‘xiaozhu.txt’; mode:决定了打开文件的模式,只读/写入/追加等; encoding:表示我们要写入数据的编...

weixin_39624716的博客 144

SPM12最新安装教程:Matlab2021a用户必看的路径配置技巧

本文为Matlab2021a用户提供SPM12的深度安装与路径配置指南。针对新版Matlab的路径管理变化,详细解析了传统方法失效的原因,并推荐通过创建startup.m文件实现SPM12路径的永久化、自动化配置,确保神经影像分析环境的稳定与高效。

weixin_29061509的博客 315

python保存数据到本地_Python爬虫入门 | 6 将爬回来的数据存到本地

1.用Python语句存储数据写文件时,我们主要用到 with open() 语句:with open(name,mode,encoding) as file: file.write() # 注意,with open() 后面的语句有一个缩进name:包含文件名称的字符串,比如:‘xiaozhu.txt’;mode:决定了打开文件的模式,只读/写入/追加等;encoding:表示我们要写入...

weixin_39622399的博客 161

VS2022如何兼容老项目?.NET Framework 4.0/4.5安装避坑指南

本文提供了在Visual Studio 2022中兼容和维护.NET Framework 4.0/4.5等老旧项目的完整解决方案。针对VS2022无法直接识别旧框架的核心问题,文章详细剖析了原因,并重点推荐通过官方NuGet包安全获取引用程序集的方法,给出了从下载、解压到部署至标准目录的详细步骤。同时,文章还深入探讨了项目文件格式过旧、NuGet包还原失败等进阶问题的排查与解决策略,旨在帮助开发者高效、稳定地在现代开发环境中维护历史代码库。

weixin_27734811的博客 514

王道考研操作系统笔记(第一章)附:王道考研408所有PPT和思维导图

学习感想 别人的笔记对你的学习基本上没有用处,容易培养人的惰性,如需ppt和思维导图请拉到最后,有github链接 记笔记并不是一件浪费时间的事情,还有利于多次学习 真心希望大家在学习的过程中记笔记 操作系统 第一章 计算机系统概述 1.1 操作系统 1.1.1 操作系统的概念和功能 概念 操作系统(Operating System, OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境;它是计算机系统中最基本的系统软

qq_41732756的博客 1万+

python怎么存数据_Python爬虫入门 | 6 将爬回来的数据存到本地

1.用Python语句存储数据写文件时,我们主要用到 with open() 语句:with open(name,mode,encoding) as file:file.write()# 注意,with open() 后面的语句有一个缩进name:包含文件名称的字符串,比如:‘xiaozhu.txt’; mode:决定了打开文件的模式,只读/写入/追加等; encoding:表示我们要写入数据的编...

weixin_39531374的博客 147

31、MSP430FR2355时钟系统与低功耗模式解析

本文详细解析了MSP430FR2355的时钟系统和低功耗模式。首先介绍了时钟系统的组成,包括XT1振荡器、DCO、MODCLK、MCLK、SMCLK和ACLK的功能与配置方法。接着探讨了MSP430FR2355的五种低功耗模式及其配置要点,并分析了时钟系统与低功耗模式之间的协同关系。最后通过实际应用案例展示了如何在具体场景中优化系统功耗。文章旨在帮助开发者充分利用MSP430FR2355的时钟与低功耗特性,实现高性能、低功耗的嵌入式系统设计。

mars5的博客 195

如何将python爬出来的数据保存_Python爬虫入门6 将爬回来的数据存到本地

1.用Python语句存储数据写文件时,我们主要用到 with open() 语句:with open(name,mode,encoding) as file: file.write() # 注意,with open() 后面的语句有一个缩进name:包含文件名称的字符串,比如:‘xiaozhu.txt’; mode:决定了打开文件的模式,只读/写入/追加等; encoding:表示我们要...

weixin_39992072的博客 542

179、运动控制中的行业标准:机器人安全标准ISO 10218

今天这篇笔记,就把我踩过的坑和标准里的硬骨头掰开揉碎讲清楚。

m0_50546716的博客 169

精雕软件(JDpaint) 5.5 绿色版

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

python爬虫下载文件到指定文件夹_Python爬虫入门 | 6 将爬回来的数据存到本地

1.用Python语句存储数据写文件时,我们主要用到 with open() 语句:with open(name,mode,encoding) as file:file.write()# 注意,with open() 后面的语句有一个缩进name:包含文件名称的字符串,比如:‘xiaozhu.txt’; mode:决定了打开文件的模式,只读/写入/追加等; encoding:表示我们要写入数据的编...

weixin_39987313的博客 1491

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

什么是网络爬虫?有什么用?怎么爬?终于有人讲明白了

【导读】网络爬虫也叫做网络机器人,可以代替人们自动地在互联网中进行数据信息的采集与整理。在大数据时代,信息的采集是一项重要的工作,如果单纯靠人力进行信息采集,不仅低效繁琐,搜集的成本也会提高。 此时,我们可以使用网络爬虫对数据信息进行自动采集,比如应用于搜索引擎中对站点进行爬取收录,应用于数据分析与挖掘中对数据进行采集,应用于金融分析中对金融数据进行采集,除此之外,还可以将网络爬虫应用于舆情监测...

python学习者的博客 3万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

网络爬虫-Python网络爬虫和C#网络爬虫

C# 也可以用于网络爬虫开发,通过 HTTP 请求获取网页数据并进行解析。与 Python 类似,C# 也有相应的库和框架,虽然 C# 网络爬虫在简便性和灵活性上不如 Python,但在某些企业级应用中,C# 也表现出色。

weixin_42462436的博客 3403
上一篇: Python爬虫入门 | 5 爬取小猪短租租房信息
下一篇: Python爬虫入门 | 7 分类爬取豆瓣电影,解决动态加载问题
DataCastle
博客等级 码龄10年 870粉丝 202原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值