当前位置: 首页 > news >正文

尚硅谷爬虫note003

一、函数

1. 函数的定义

        def 函数名():

                代码

2.函数的调用

        函数名()

3. 定义参数(不调用函数不执行)

       

def sum(a,b)    #形参
c = a + b
print(c)

#调用
sum(1,2)    #实参

4. 函数返回值——》结果

        需要变量,接收函数返回值

def buyClothes():
return “短袖”

clothes = buyclothes()    #clothes变量,用来接收函数返回值
print(clothes)

二、文件

1. 打开/创建文件

        open(”文件路径”,“访问模式“)

        不能创建文件夹

2. 关闭文件

        fp.close()

3. 文件的读写

        是覆盖操作

若需追加,使用“a”模式进行访问

读:

        content = fp.read()

        print(content)

一般情况下:

        一个字节一个字节的读取

readline()方法:一行一行的读取,但是只能读一行

readlines()方法:读取多行,按列表格式返回

三、序列化、反序列化

1. 序列化:一套协议

        按某种规则,把内存中的数据转为字节序列

        python对象——》字节序列

2. 反序列化:

        从文件字节序列恢复到内存中

        字节序列——》python对象

无法将对象写入文件中。

        进行序列化操作后,可写入

3. 序列化的2种方式

3-1. dumps()

        1).创建一个文件

fp = open(“xx.txt”,“w”)

        2).定义一个列表

xx_list = 【“zs”,“ls”】

        3)导入json到文件中

import json

        4)序列化

        将python对象转为json字符串

content = json.dumps(xx_list)

print(content)

        5)将content写入文件中

fp.write(content)

fp.close()

3-2. dump()

        将python对象转为字符串的同时,指定一个文件对象,把转换后的字符串写入到指定的文件中

3-1中1),2),3)——》

json.dump(xx_list,fp)

fp.close()

4. 反序列化的2种方式

        将json字符串转成python对象

fp = open(“xx.txt”,“r”)

content = fp.read()

print(content)

4-1. loads()

1)导入json

        import json

2)将json字符串转成python对象

        xx = json.loads(content)

3)转换后的打印

        print(xx)

4-2. load()

        fp = open(“xx.txt”,“r”)

import json

xx = json.load(fp)

print(xx)

fp.close()

四、异常

try:

        可能出现异常的代码

except 异常类型:

        友好的提示

try:
    fp = open("111.txt","r")
    fp.read()
except  FileNotFoundError:
    print("系统升级中...")

五、反扒手段

        1. user-agent

        2. 代理IP

        3. 验证码访问

        4. 动态加载网页

        5. 数据加密

相关文章:

  • 日志结构化处理:PO对象toString日志转JSON工具
  • 变分边界详解
  • 算力平台 驱动云的使用
  • 前端快速生成接口方法
  • 一、通义灵码插件保姆级教学-IDEA(安装篇)
  • 支付宝 IoT 设备入门宝典(上)设备管理篇
  • 数据结构(考研)
  • 26、深度学习-自学之路-NLP自然语言处理-理解加程序,怎么把现实的词翻译给机器识别。
  • 生成式大模型 怎么结合 知识库与 AI Agent
  • oracle中decode怎么转换成pg
  • linux安装jdk 许可证确认 user did not accept the oracle-license-v1-1 license
  • 【截图】selenium自动通过浏览器截取指定元素div的图片
  • 优雅的git log输出内容更加醒目
  • 软著申请(四)合作开发文档【2025年最新版】
  • FFmpeg + OpenGL ES 美颜相机教程大纲
  • 在cursor/vscode中使用godot C#进行游戏开发
  • linux 下连接mysql(下)
  • [笔记] 汇编杂记(持续更新)
  • 在freertos中,中断优先级和任务优先级之间的关系和使用方法
  • 在Windows 7操作系统,基于llama.cpp本地化部署 deepseek-r1模型的方法 2025-02-08
  • 北京上地网站建设/谷歌商店paypal下载官网
  • 网站开发费用如何记账/搜收录批量查询
  • 新手如何做自己的网站/女教师遭网课入侵直播
  • 网站建设多少钱/百度关键词排名靠前
  • 二维码生成器永久免费版下载/q群排名优化软件
  • 途牛电子商务网站建设/百度企业官网认证