7.22网络爬虫实战,网络爬虫数据存储与 Robots 协议学习指南

import csv
with open('./iris.csv', 'r') as csvfile:
    reader = csv.reader(csvfile)  # 创建reader对象
    for row in reader:  # 这里应该使用reader而不是read
        print(row)
  1. 文件操作能力:使用 with open(...) 上下文管理器安全地打开和关闭文件,这是处理文件的最佳实践,能自动管理资源释放。

  2. CSV 数据处理能力:通过 csv.reader() 创建读取器对象,能够正确解析 CSV 格式的文件内容,处理逗号分隔的数据以及可能包含的引号、换行等特殊情况。

  3. 迭代处理数据:通过 for row in reader 循环迭代读取 CSV 文件中的每一行数据,将每行数据转换为列表形式进行处理(如打印输出)。

import pandas as pd  # 通常使用pd作为pandas的别名,更简洁

result_dict = {
    "SNo": ["179001", "179002"],
    "SName": ["天天", "阳阳"],  # 修正了引号和括号
    "SSex": ["男", "女"]       # 修正了引号和括号
}
path = "./teacher.csv"
df = pd.DataFrame(result_dict)  # 使用pd别名
df.to_csv(path, index=False, encoding="utf-8")  # 添加了编码参数和去除索引

代码基础,表格,指在特点环境,编写一个表格,并以自己想要的方法记录爬虫所得信息

注意事项

Robots 协议:爬虫行为的 “交通规则”

Robots 协议,全称网络爬虫排除标准(Robots Exclusion Protocol),是指导网络爬虫规范爬取网站内容的重要准则,通常以robots.txt文件形式存在于网站根目录。

Robots 协议的核心作用

网络爬虫的大规模爬取行为可能引发一系列问题,包括给 Web 服务器带来巨大资源开销造成性能骚扰、因数据产权归属问题引发法律风险,以及可能突破简单访问控制导致个人隐私泄露。而 Robots 协议正是为了规范爬虫行为,缓解这些问题而产生的。

Robots 协议的关键要素

  • 文件要求:必须放置在站点根目录,文件名必须小写为robots.txt
  • 核心规则
    • User-agent:指定规则适用的爬虫名称,*代表对所有爬虫有效。
    • Disallow:明确不允许抓取的目录。
    • Allow:指定可允许抓取的目录。

爬虫访问站点的流程

  1. 检测站点根目录是否存在robots.txt文件。
  2. 若存在,爬虫依据文件定义的范围进行爬取;若不存在,爬虫可访问所有可直接访问的页面。

TXT 文件存储

TXT 文件存储具有操作简单、几乎兼容任何平台的优点,但数据检索不够方便。

  • 文件操作基础:通过 Python 内置的open()函数创建或打开文件,基本语法为file = open(filename, mode, buffering)。其中mode参数决定了文件的读写方式,常见的有:
    • r:只读,文件不存在则报错,不可写入。
    • w:写入,文件不存在则创建,覆盖写入。
    • a:写入,文件不存在则创建,追加写入。
    • +的模式如r+w+a+则表示可读写。
  • 文件路径形式:常用的有三种,如with open("d:\\yongzhou\\title.txt","a+") as fwith open(r"d:\yongzhou\title.txt","a+") as fwith open("d:/yongzhou/title.txt","a+") as f

CSV 文件存储

CSV(Comma-Separated Values,逗号分隔值)文件以纯文本形式存储表格数据,每条记录由字段组成,字段间常用逗号或制表符分隔。

  • Python csv 库操作

    • 读取:使用csv.reader()函数,语法为csv.reader(csvfile, dialect='excel', **fmtparams)。例如读取iris.csv文件:

通过以上学习,我们不仅掌握了 Robots 协议的核心内容以确保爬虫行为合规,还熟悉了 TXT 和 CSV 文件的存储方法。在实际应用中,需根据数据特点和需求选择合适的存储方式,并始终遵守相关规范,合法合规地开展爬虫工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值