当前位置:首页>python>爬虫-python必备基础知识

爬虫-python必备基础知识

  • 2026-02-28 01:14:41
爬虫-python必备基础知识

一. 关于爬虫的特殊性

爬虫是一个变化快、实战性强的方向:今天能用的案例,明天可能就失效。所以不要死盯着某一个网站,更重要的是学会见招拆招——这才是爬虫学习的核心。

如果爬虫程序写得不够完善、访问频率又过高,确实可能给目标站点造成很大压力。因此一定要控制访问频率,放慢抓取速度,既是对网站负责,也是保护自己。

像腾讯、阿里、字节、小红书、美团这类大厂站点,反爬机制通常都很强。新手阶段不建议一上来就挑战这类目标,等基础扎实后再慢慢研究。

各类政务站点如果不是确有必要,尽量不要作为练手对象;

不要低估这类站点的防护能力,很多重要站点都有很强的安全措施。对初学者来说,更合适的做法,是先把基本功练扎实,再逐步提升分析能力。

爬虫只能爬 你看得见的东西!!!!!

个人信息不能碰.

尽量不要妨碍人家网站服务器的正常运营.

网站结构的多变,恰恰也是爬虫的魅力所在。遇到问题时要学会从多个角度思考,方法不必僵化,能稳定达到目标即可。不要在一个细节上死磕太久,要学会见招拆招。

关于“自己动手敲代码”这件事,一定要坚持。原因主要有三点:

  1. 简单的语法使用错误. 不憋记不住
  2. 复杂的程序逻辑. 不憋培养不出来独立思考能力.
  3. 一定要有独立解决问题的能力.

三. 必须要掌握的py基础

3.1 基础语法相关

  1. if条件判断

    if 条件:     # 事情1 else:     # 事情2

    上面就是if的最基础的基本语法. 含义是, 如果条件为真, 去执行事情1, 如果条件不真, 去执行事情2. 这东西. 我就不拆开聊了. 关于if. 你要记住的事情是,它是用来做条件判断的. 以后你的程序里,  如果需要条件判断了. 就用它....

    举例,

    在写爬虫的时候. 我们会遇到这样的两种情况

    情况一, 数据里有一些我们并不需要的内容

    data = "10,英雄本色,1500万"   # 正常你需要的数据 data = "11,-,-"  # 你不需要的数据  # 伪代码, 理解含义(思路) if data里有你不需要的数据:     再见 else:     保留

    情况二, 页面结构不统一, 会有两种页面结构

    # 伪代码, 理解含义(思路) 提取器1 = xxxx  #  用来提取页面中内容的 提取器2 = xxxxxx  # 页面有可能是不规则的。 张飞, 潘长江  结果1 = 提取器1.提取(页面) if 结果1:     有结果. 存起来 else:     没有结果.      结果2 = 提取器2.提取(页面)

    相信我, 上面的逻辑并不难. 但是, 到了后面很多小伙伴容易踩坑. 我们完全没必要用一个提取器获取所有的数据. 完全没必要.....

  2. while循环关于循环, 我们必须要知道一个事情.

    while 条件:     循环体

    如果条件为真, 就执行循环体, 然后再次判断条件.....直到条件为假. 结束循环.

    反复的执行一段代码

  3. 关于True和False

    True, 是真的意思. 翻译成人话:  对的, OK, 没毛病. 确定

    False, 是假的意思. 翻译成人话: 不对劲, 错误, No. 有瑕疵. 不对劲

    这个应该都能看懂.

    但是下面这个, 需要各位去记住

    # 几乎所有能表示为空的东西. 都可以认为是False print(bool(0)) print(bool("")) print(bool([])) print(bool({})) print(bool(set())) print(bool(tuple())) print(bool(None)) # 上面这一坨全是False, 相反的. 都是真. 利用这个特性. 我们可以有以下的一些写法  # 伪代码, 理解逻辑.  结果 = 提取器.提取(页面) if 结果:     有结果. 我要保存结果 else:     没结果. ......

3.2 字符串(高频核心,必须熟练)

   在爬虫与数据处理中,字符串是高频出现的数据类型,以下几个操作必须熟悉:

  1. 索引和切片索引, 就是第几个字符. 它从0开始.切片, 从字符串中提取n个字符.

    s = "我爱黎明,黎明爱我"  print(s[1])  print(s[0])

    print(s[2:4]) 从第2个, 到第4个(取不到4)

  2. strip()

    我们从网页上提取的数据. 很多都是带有一些杂质的(换行, 空格),怎么去掉?

    strip()可以去掉字符串左右两端的空白(空格, 换行\n, 回车\r, 制表符\t)

    s = "    \t\t\t我的天哪\r\r      \n\n  "  # 够乱的字符串  s1 = s.strip()  print(s1)  # 好了 我的天哪  
  3. split()

    split,  做切割的.

    s = "10,男人本色,100000万"  # 你在网页上提取到这样的一段数据. 现在我需要电影名称  tmps = s.split(",")  name = tmps[1]  print(name)  # 男人本色

    id, name, money = s.split(",") # 切割后. 把三个结果直接怼给三个变量 print(id) print(name) print(money)

  4. replace()

    replace():字符串替换

    s = "我      \t\t\n\n爱   黎       明    "   # 这是你从网页上拿到的东西  s1 = s.replace(" ", "").replace("\t", "").replace("\n", "")  # 去掉空格、    和 

    print(s1) # 我爱黎明

  5. join()

    join, 将列表拼接为一个完整的字符串

    lst = ["我妈", "不喜欢", "黎明"]  # 有时,由于网页结构的不规则, 导致获取的数据是这样的.   s1 = "".join(lst)  # 用空字符串把lst中的每一项拼接起来  print(s1)  # 我妈不喜欢黎明

    lst2 = ["\n\r","\n\r","周杰伦\n\r", "\n不认识我\r"] s2 = "".join(lst2).replace("\n", "").replace("\r", "") print(s2) # 周杰伦不认识我

  6. f-string

    格式化字符串的一种方案

    s = "周杰伦"  s1 = f"我喜欢{s}"  #  它会把一个变量塞入一个字符串  print(s1)  # 我喜欢周杰伦

    k = 10085 s2 = f"我的电话号是{k+1}" # 它会把计算结果赛入一个字符串 print(s2) # 我的电话号是10086

    # 综上, f-string 的大括号里本质上就是一段表达式,只要能计算出结果即可

3.3  列表

列表是后续使用频率仅次于字符串的一种数据类型,主要用来承载一组有序数据。只要内存允许,它就可以持续存放内容。

  1. 索引, 切片

    列表的索引和切片逻辑与字符串完全一致

    lst = ["赵本山", "王大陆", "大嘴猴", "马后炮"] item1 = lst[2]  # 大嘴猴 item2 = lst[1]  # 王大陆  lst2 = lst[2:] print(lst2)  # ["大嘴猴", "马后炮"]  # 注意, 如果列表中没有数据. 取0会报错 lst = [] print(lst[0])  # 报错, Index out of bounds  # 注意, 如果给出的索引下标超过了列表的最大索引. 依然会报错 lst = ["123", "456"] print(lst[9999])  # 报错, Index out of bounds
  2. 增加

    给列表添加数据.

    lst = [11,22] lst.append(33) lst.append(44) print(lst)  # [11,22,33,44]
  3. 删除

    删除数据(相对不常用)

    lst.remove("周润发")  #  把周润发删掉
  4. 修改

    lst = ["赵本山", "王大陆", "大嘴猴", "马后炮"] lst[1] = "周杰伦" print(lst)  # ["赵本山", "周杰伦", "大嘴猴", "马后炮"]
  5. range

    用for循环数数的一个东西

    for i in range(10):     print(i)   # 从0数到9  for i in range(5, 10):     print(i)  # 从5 数到 9
  6. 查询(必会)

    lst = ["赵本山", "周杰伦", "大嘴猴", "马后炮"] print(lst[0]) print(lst[1]) print(lst[2]) print(lst[3])  # 循环列表的索引 for i in range(len(lst)):     print(lst[i]) # 循环列表的内容 for item in lst:     print(item)  # enumerate lst = [11, 22, 33, 44, 55] # 得到的是一个元组. (index, item) for i, item in enumerate(lst):     print(i, item)

3.4  字典

字典可以按“键-值”成对保存数据。

  1. 增加

    dic = {} dic['name'] = '樵夫' dic['age'] = 18  print(dic)  # {"name": "樵夫", "age": 18}
  2. 修改

    dic = {"name": "樵夫", "age": 18} dic['age'] = 19 print(dic)  # {"name": "樵夫", "age": 19}
  3. 删除(不常用)

    dic = {"name": "樵夫", "age": 18} dic.pop("age") print(dic)  # {'name': '樵夫'}
  4. 查询(重点)

    dic = {"name": "樵夫", "age": 18}  a = dic['name']  # 查询'name'的值 print(a)  # 樵夫  b = dic['age']  # 拿到dic中age对应的值 print(b)  # 18  c = dic['哈拉少']   # 没有哈拉少. 报错 d = dic.get("哈拉少")  # 没有哈拉少, 不报错. 返回None. 它好. 它不报错

    循环

    dic = {"name": "樵夫", "age": 18} for k in dic:  # 循环出所有的key     print(k)       print(dic[k])  # 获取到所有的value并打印

    嵌套

    dic = {     "name": "王峰",     "age": 18,     "wife": {         "name": "章子怡",         "age": 19,     },     "children": [         {'name':"胡一菲", "age": 19},         {'name':"胡二菲", "age": 18},         {'name':"胡三菲", "age": 17},     ] }  # 王峰的第二个孩子的名字 print(dic['children'][1]['name']) # 王峰所有孩子的名称和年龄 for item in dic['children']:     print(item['name'])     print(item['age'])

3.5  字符集和bytes

字符集先记住两个就够了:utf-8gbk。它们都支持中文,但 utf-8 的覆盖范围更广,日常使用也最常见。

# 把字符串转化成字节 bs = "我的天哪abcdef".encode("utf-8") print(bs)  #  b'\xe6\x88\x91\xe7\x9a\x84\xe5\xa4\xa9\xe5\x93\xaaabcdef' # 一个中文在utf-8里是3个字节. 一个英文是一个字节. 所以英文字母是正常显示的  # 把字节还原回字符串 bs = b'\xe6\x88\x91\xe7\x9a\x84\xe5\xa4\xa9\xe5\x93\xaaabcdef' s = bs.decode("utf-8") print(s)

要记住:bytes 不是给人直接看的,而是给机器处理的。文字、图片、音频、视频,本质上都会在计算机里转成字节。

3.6 文件操作

在 Python 中,想处理文件,第一步通常都是先用open()打开文件。

基本语法

f = open(文件名, mode="模式", encoding='文件编码') f.read()|f.write() f.close()

文件名就不解释了.

模式:我们需要知道的主要有4个. 分别是: r, w, a, b

  1. r  只读模式. 含义是, 当前这一次open的目的是读取数据. 所以, 只能读. 不能写
  2. w 只写模式. 含义是, 当前这一次open的目的是写入数据. 所以, 只能写, 不能读
  3. a 追加模式. 含义是, 当前这一次open的目的是向后追加. 所以, 只能写, 不能读
  4. b 字节模式. 可以和上面三种模式进行混合搭配. 目的是. 写入的内容或读取的内容是字节.

问:

  1. 如果我想保存一张图片. 应该用哪种模式?
  2. 我想读取txt文件, 用哪种模式?
  3. 我想复制一个文件. 应该用哪种模式?

encoding: 文件编码. 只有处理的文件是文本的时候才能使用. 并且mode不可以是b.   99%的时候我们用的是utf-8

另一种写法:

with open(文件名, mode=模式, encoding=编码) as f:     pass

这种写法的好处是:不需要手动关闭f,代码也更安全。

读取一个文本文件:

with open("躺尸一摆手.txt", mode="r", encoding="utf-8") as f:     for line in f:  # for循环可以逐行的进行循环文件中的内容         print(line)

3.7  关于函数

当代码量很少时,函数的价值可能不明显;但一旦代码变多,函数就非常重要。把大段逻辑拆成一个个小函数,既方便调试,也方便复用。

def 函数名(形式参数):     # 函数体     return 返回值

上面是定义函数的基本结构。但函数定义好之后并不会自动执行,必须被调用才会运行。

函数名(实际参数)

写一个试试:

def get_page_source(url):     print("准备发送请求,获取页面源代码")     return "页面源代码"  pg_one = get_page_source("baidu.com") pg_two = get_page_source("koukou.com")

再来一个

def download_image(url, save_path):     print(f"准备下载图片:{url}", f"保存路径:{save_path}")  download_image("http://www.baidu.com/abc/huyifei.jpg", "胡二飞.jpg") download_image("http://www.baidu.com/aaa/dagedagefeifeifei.jpg", "大哥大哥飞飞飞.jpg")

总结一下:函数最大的好处,就是把重复逻辑封装起来,后面需要时可以直接复用。

3.8 关于模块

什么是模块?你可以把它理解为别人已经写好的代码集合,保存在一个.py文件或一个文件夹里,我们可以直接导入使用。

在 Python 里,常见的模块大致可以分为三类:

第一种, python内置模块

   不用安装. 直接导入就能用

第二种, 第三方模块

   需要安装. 安装后. 导入就可以用了

第三种, 自定义模块(新手先别自己定义模块)

   直接导入就能用

导入模块的语法

import 模块 from 模块 import 功能 from 模块.子模块 import 功能  举例子,  import os import sys from urllib.parse import urljoin from bs4 import BeautifulSoup

做爬虫时,下面这些 Python 内置模块值得优先掌握:

  1. time模块

    import time time.time()  # 这个是获取到时间戳 time.sleep(999)  # 让程序暂停999秒
  2. os模块

    import os # 判断文件是否存在 os.path.exists()  #  判断文件或者文件夹是否存在 os.path.join()    # 路径拼接 os.makedirs()     # 创建文件夹
  3. json模块(重中之重)

    现在很多网站都会用 JSON 来传递数据,所以我们必须知道 JSON 是什么,以及 Python 应该如何处理它。

    JSON 看起来很像字典,但对于 Python 来说,它首先是一段字符串。

    例如,

    s = '{"name": "jay", "age": 18}'

    你看. 这就是一个典型的json示例

    如何来转化它.

    json字符串 => python字典

    import json    s = '{"name": "jay", "age": 18}'    dic = json.loads(s)    print(type(dic))

    python字典 => json字符串

    import json    dic = {"name": "jay", "age": 18}    s = json.dumps(dic)    print(type(s))
  4. random模块

    random 模块最常见的用途,就是生成随机数。

    import random i = random.randint(1, 10)  # 1~10的随机数 print(i)   # 多跑两次.效果更加
  5. 异常处理(重中之重)

    这是非常重要的一部分。写爬虫时,我们经常会遇到异常,而这些异常很多时候并不一定是程序逻辑本身写错了。

    比如抓取某个网站时,可能因为网络波动、服务器压力过大等原因导致本次请求失败。这种情况非常常见。如果不处理,程序就会直接报错中断。那怎么办?

    可以把它理解成“网页加载失败时我们会手动刷新一次”。异常处理做的事,其实就是:当程序这次失败了,是否能优雅地兜底,甚至再试一次。

    try: # 尝试...     print("假如, 我是一段爬虫代码, 请求到对方服务器")     print("这里故意制造一个错误")     print(1/0)  # 出事儿了 except Exception as e:  # 出错了. 我给你兜着     print(e)  # 先把错误打印出来,再继续执行  print("不论上面是否出错. 我这里, 依然可以执行")

    程序执行时,如果try里的代码出错,就会自动跳到except中执行兜底逻辑,然后程序还能继续往下走。

    有了这个机制,我们就可以写出更稳健的重试逻辑:

    while 1:     try:         print("发送请求中...")         print("请求成功!")         break  # 成功了.就跳出循环     except Exception as e:         print("本次失败")         print("记录异常,准备重试")         print("再次尝试")

    改良版(加入等待时间):

    import time for i in range(10):     try:         print("发送请求中...")         print("请求成功!")         break  # 成功了.就跳出循环     except Exception as e:         print("本次失败")         print("记录异常,准备重试")         print("再次尝试")         time.sleep(i * 10)

学习建议

这一节最值得反复练习的内容,是字符串处理、列表与字典遍历、文件读写,以及异常处理。建议先手敲一遍例子,再尝试自己改写一遍,效果会比“看懂了”更扎实。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-28 12:39:55 HTTP/2.0 GET : https://f.mffb.com.cn/a/477401.html
  2. 运行时间 : 0.117635s [ 吞吐率:8.50req/s ] 内存消耗:5,392.46kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=5184f139a8b0e6f1061060f76e47de5f
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000497s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000572s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000278s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000281s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000470s ]
  6. SELECT * FROM `set` [ RunTime:0.000204s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000589s ]
  8. SELECT * FROM `article` WHERE `id` = 477401 LIMIT 1 [ RunTime:0.006682s ]
  9. UPDATE `article` SET `lasttime` = 1772253595 WHERE `id` = 477401 [ RunTime:0.000863s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000287s ]
  11. SELECT * FROM `article` WHERE `id` < 477401 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000409s ]
  12. SELECT * FROM `article` WHERE `id` > 477401 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.012404s ]
  13. SELECT * FROM `article` WHERE `id` < 477401 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.007500s ]
  14. SELECT * FROM `article` WHERE `id` < 477401 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.004935s ]
  15. SELECT * FROM `article` WHERE `id` < 477401 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.012321s ]
0.119081s