不孬

less is more


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

Yii类了解一下

发表于 2018-11-09 | 更新于 2018-12-06 | 分类于 yii | 阅读次数:

前言

Yii这个类相对比较简单,主要做的功能应该就是自动加载,和一些其他全局使用的方法

自动加载

Yii自带的自动加载比较简单,一个亮点是为了更快的加载使用了一个自定义的类-路径映射,我们在优化的时候也开把自己要加载的提前放进这个数组中。Composer 自带的自动加载这里也不打算分析了composer自动加载分析]

注册自动加载

1
2
3
4
5
6
7
8
9
class Yii extends \yii\BaseYii
{
}
// 注册自动加载,注册到在此之前已经注册的所有自动加载的最前端,也就是会先使用Yii的自动加载进行加载
spl_autoload_register(['Yii', 'autoload'], true, true);
// 设置类与路径的加载映射,加快自动加载
Yii::$classMap = require(__DIR__ . '/classes.php');
// 容器
Yii::$container = new yii\di\Container();
阅读全文 »

gitbook等其他资源

发表于 2018-10-24 | 分类于 其他 | 阅读次数:
gitbook资源爬虫笔记
阅读全文 »

爬虫-scrapy

发表于 2018-10-23 | 更新于 2019-04-11 | 分类于 python , 爬虫 | 阅读次数:

实现项目

创建项目

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
scrapy startproject cancao # 将会创建cankao项目目录及文件
└── cankao
├── cankao
│ ├── __init__.py
│ ├── items.py
│ ├── middlewares.py
│ ├── pipelines.py
│ ├── settings.py
│ └── spiders
│ └── __init__.py
└── scrapy.cfg
scrapy.cfg # 项目的部署文件
cankao/ # 项目的Python模块,将会从这里引用代码
cankao/items.py # 项目的Item文件
cankao/pipelines.py # 项目的管道文件用于文件持久化
cankao/settings.py # 项目的配置文件
cankao/middlewares.py # 中间件
cankao/spiders/ # 存储爬虫代码目录

创建爬虫

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 进入到项目目录
cd cankao
# 创建爬虫的命令 爬虫名称 限制的域名
scrapy genspider cankao1 douban.com
# spiders文件夹下生成cankao1.py文件
# -*- coding: utf-8 -*-
import scrapy
class Cankao1Spider(scrapy.Spider):
# 爬虫名,必填
name = 'cankao1'
# 允许访问的域名
allowed_domains = ['douban.com']
# 开始的url
start_urls = ['http://douban.com/']
def parse(self, response):
'''
解析
:param response:
:return:
'''
pass
阅读全文 »

爬虫-xpath

发表于 2018-10-23 | 更新于 2019-04-11 | 分类于 python , xpath | 阅读次数:

语法

w3c文档
看过之后可以通过后面的 应用 部分理解一下

获得 xpath 路径

通过chrome浏览器可以右键来查看

阅读全文 »

Yii-轻松实现RESTful风格的接口

发表于 2018-10-16 | 更新于 2018-12-19 | 分类于 yii | 阅读次数:

Yii轻松实现RESTful风格的接口

创建api模块

我们可以直接复制一份其他的模块,如 frontend 模块,假设起名为 restful

修改配置

首先我们修改一下配置,为了能够实现模块的自动加载

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
common\config\bootstrap.php
// 添加的模块要在这里设置一下别名,为了自动加载
Yii::setAlias('@restful', dirname(dirname(__DIR__)) . '/restful');
```
然后修改 restful 模块的配置
```php
restful/config/main.php
...
...
return [
# 更改项目id
'id' => 'app-restful',
# 设置控制器命名空间
'controllerNamespace' => 'restful\controllers',
'components' => [
'request' => [
'csrfParam' => '_csrf-restful',
# 配置获取请求参数的格式,可以接收并解析json格式的数据
'parsers' => [
'application/json' => 'yii\web\JsonParser',
]
],
'user' => [
'identityClass' => 'common\models\User',
// 不允许使用session
'enableSession' => false,
],
...
...
'urlManager' => [
'enablePrettyUrl' => true,
// 如果如开启,在不满足配置的路由规则后或使用默认的路由规则进行解析
// 'enableStrictParsing' => true,
'showScriptName' => false,
'rules' => [
/**
* 配置url解析规则类
* controller 配置的控制器id 配置的控制器访问的时候要用复数的形式
*/
['class' => 'yii\rest\UrlRule', 'controller' => ['user']],
],
],
],
];

阅读全文 »

python基础1

发表于 2018-10-11 | 更新于 2018-12-23 | 分类于 python | 阅读次数:

前言

算是一篇记录或摘抄的笔记,方便用来查询基础知识点。

小点

查看关键字

1
2
import keyword
print(keyword.kwlist)

生成随机数

1
2
3
4
import random
random.randint(12, 20) # 生成的随机数n: 12 <= n <= 20
random.randint(20, 20) # 结果永远是 20
random.randint(20, 10) # 该语句是错误的,下限必须小于上限

print 输出

如果希望输出文字信息的同时,一起输出 数据,就需要使用到 格式化操作符
% 被称为 格式化操作符,专门用于处理字符串中的格式
包含 % 的字符串,被称为 格式化字符串
% 和不同的 字符 连用,不同类型的数据 需要使用 不同的格式化字符

格式化字符 含义
%s 字符串
%d 有符号十进制整数,%06d 表示输出的整数显示位数,不足的地方使用 0 补全
%f 浮点数,%.2f 表示小数点后只显示两位
其他 other
1
2
3
print("格式化字符串" % 变量1)
print("格式化字符串" % (变量1, 变量2...))
阅读全文 »
1…345…8
echo-ding

echo-ding

纸上得来终觉浅,绝知此事要躬行。

44 日志
26 分类
54 标签
GitHub E-Mail 微博 知乎
Links
  • bunao
© 2019 echo-ding
由 Hexo 强力驱动 v3.3.7