Anaconda简介与用法

Anaconda是个什么东东?

一、Anaconda 有什么用?

是一个安装、管理python相关包的软件,还自带python、Jupyter Notebook、Spyder,有管理包的conda工具,非常有用。

二、如何安装Anaconda?

很简单:

1、去官网https://www.anaconda.com/products/individual下载安装文件,不到500M。

2、双击安装。可以参考  http://www.360doc.com/content/20/0511/06/29876786_911481951.shtml  具体细节。

3、安装完成。

三、pip 和 conda 的区别

我简单的理解:

pip 是在python 环境中管理python包的工具

conda 是在conda环境中管理python包和其它包(例如C语言包)的工具

二者是不同的东西,不可以混用,它们安装的东西不在一个地方。

四、conda 常用的命令   (在终端中使用这些命令。打开图形界面AnacondaNavigator ,左侧Environment,点击小三角形,选中Open Terminal)

conda –version     #查看conda版本,验证是否安装

conda update conda   #更新至最新版本,也会更新其它相关包

conda update  –all  #更新所有包

conda update name  #更新指定的包

conda create -n env_name package_name #创建名为env_name的新环境,并在该环境下安装名为package_name 的包,可以指定新环境的版本号,

例如:conda create -n python2 python=python2.7 numpy pandas,创建了python2环境,python版本为2.7,同时还安装了numpy pandas包

activate env_name  #切换至env_name 环境

source activate env_name#以上不行使用这

deactivate   name  #退出环境(返回默认环境)

source deactivate env_name#以上不行使用这

conda info -e  #显示所有已经创建了的环境

conda create –name new_env_name –clone old_env_name #复制old_env_name为new_env_name

conda remove –name env_name –all #删除环境

conda list #查看所有已经安装的包

conda install package_name #在当前环境中安装包

conda install –name env_name package_name #在指定环境中安装包

conda remove — name env_name package #删除指定环境中的包

conda remove package #删除当前环境中的包

conda env list   #查看所有的环境

    conda env export > environment.yaml // 导出当前环境的包信息

conda env create -f environment.yaml // 用配置文件创建新的虚拟环境

五、python 虚拟环境

1)什么是虚拟环境?

把一部分内容独立出来,称之为容器。在容器中,安装我们自己想要的东西,比如不容版本的依赖包。各容器之间相互独立,互不影响。

比如下载完 Anaconda 之后,默认的就是 base 环境。

2)为什么要用虚拟环境?

因为在开发当中,我们需要根据不同的需求,下载不同的框架库,或者不同的版本。有了虚拟环境,我们可以为

不同的项目配置不同的运行环境,这样多个项目可以同时运行。

3)如何使用虚拟环境?

创建、激活、退出、删除。详见上面的命令,不再赘述。

注:新创建的环境除了python自带的一些官方包之外是没有其它包的,是一个比较干净的环境。例如我们可以在终端输入 python 打开 python的解释器试一下:

 

接下来我们可以在此环境中使用上述命令安装和卸载第三方包。

补充:Anaconda 所谓的创建虚拟环境,实际上就是在本地安装了一个真实的python环境,具体位置就在下面这个文件夹里

 

我们可以使用conda 命令随意切换当前的python 环境,使用不同版本的解释器和不同版本的包去运行python脚本。

 

六、Anaconda 与 pyCharm 连接

 

在工作环境中我们会集成开发环境去编码, 这里推荐JB公司的pycharm, 而pycharm也能很方便的和anaconda的虚拟环境结合

Setting => Project => Project Interpreter 里面修改 Project Interpreter , 点击齿轮标志再点击Add Local为你某个环境的python.exe解释器就行了

比如你要在learn环境中编写程序, 那么就修改为D:\Software\Anaconda\envs\learn, 可以看到这时候下面的依赖包也变成了learn环境中的包了.
接下来我们就可以在pycharm中愉快的编码了.

Anaconda 讲解 与 jupyter notebook 搭配

方便管理各类python库环境,来回切各类环境,因为有的时候别人的代码运行需要特定的python版本,所以新建一个python环境非常方便。

安装
Anaconda官方下载之后,Mac 下直接用命令行来安装吧:

$ bash ~/Downloads/Anaconda3-5.3.1-MacOSX-x86_64.sh // python3版本
1
安装过程中会让你输入yes 或 回车健,一路按照提示输入就行,没啥好犹豫的,安装后验证一下:

$ source ~/.bash_profile // 让环境变量生效

$ conda -V
# conda 4.7.12 // 输出conda 版本号

出现 conda 4.7.12 就说明安装成功。

常用命令使用
1、创建环境

$ conda create -n myenv python=3.7

生成指定python 3.7版本的环境,myenv 是环境名

2、多个环境建立好了,具体让那个生效呢?

$ conda activate myenv

有的环境利用的是 source activate ,这个跟安装的conda环境有关。指定要生效的环境名。

3、退出环境

$ conda deactivate

4、也可以删除 环境

$ conda remove –name myenv –all

5、查看环境列表

$ conda env list
1
6、查看环境中的安装库

conda list -n myenv
1
可以了解环境中

7、搜索包

conda search XXX
1
8、安装包

$ conda install XXX
1
这里的安装没有指定环境,其实是所有环境都可以使用这个库,相当于本地安装库一样

9、移除包

$ conda remove XXX

1
2
这个移除类似移除本地的库

10、安装库 到指定环境

$ conda install -n myenv XXX
1
库包管理
除了利用conda来安装包,还可以用pip来安装包,这是python 推荐的安装工具,
1、pip list
查看本地环境安装的那些包,你说如果我在一个conda 环境下可以使用这个命令,可以看到该环境安装的库包嘛?

2、pip install xxx
安装库包

pip install SomePackage==1.0.4 # 指定版本
pip install ‘SomePackage>=1.0.4’ # 最小版本
1
2
环境管理
新建环境是一个特别赶紧的环境,我们可以指定一个公共的环境,这里面放一些基本的库包,然后有特殊的库包要求,可以复制这个环境创建新环境,然后在新环境中安装特殊要求的库包版本号。
假设我们的基本库包为common环境,我们可以在这个环境中安装一些基本的包:

conda install scikit-learn

conda install numpy

conda install pandas

conda install lightgbm

通过复制功能,新建一个环境newenv:

conda create -n newenv –clone common

这样newenv 环境 包含了common 环境的库包,不需要额外安装。

环境管理注意要点
上面是相关命令,但是Anaconda环境管理还没讲到,这是他的主要优势,建议:

尽可能使用pip安装一些公有包
用conda 安装一些 特殊版本的包
经可能的给指定 环境 安装库
目前已经知道的知识点是:

conda创建的虚拟环境,只能创建当前与python版本相同的虚拟环境,所以它所含的包也是当前环境中pip安装过的包
有人补充:

conda install的package似乎是在anaconda\pkgs下,

而pip install的package是在anaconda\Lib\site-packages下。

推荐使用pip管理包(pip是python官方推荐的包管理器)
如果你在base环境,pip install的package应该就是安装在anaconda\Lib\site-packages下,然后其他虚拟环境下的使用python packages时优先搜索该虚拟环境下的package,如果没有它就搜索base环境下的package,也就是base环境下的package是可以被其他虚拟环境使用的,如果你进入其他虚拟环境下使用pip install,那么下载的包就只在这个虚拟环境中
配置镜像源
配置镜像源到目的是为来快速安装库包,毕竟配置为国内的镜像源下载库包更快,命令如下:

conda config –add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config –add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config –set show_channel_urls yes
使用 如下命令可以看到以下是否添加成功:

conda info
1
这个命令会打印出镜像信息。

与jupyter notebook关联
主要参考这篇文章,讲解的比较到位。https://zhuanlan.zhihu.com/p/29564719。

基本上安装来annaconda ,也安装了jupyter notebook,通过命令就可以打开:

jupyter notebook
1
启动之后浏览器就会跳出url :http://127.0.0.1:8888/tree 的页面,那就是该编辑器的页面,修改启动notebooks 在本地路径:

jupyter notebook –generate-config // 获取在电脑上的配置文件

1
2
输入命令后,得到配置文件路径:

Writing default config to: /Users/znss/.jupyter/jupyter_notebook_config.py
1
如果此文件是隐藏文件,mac 电脑下可能看不到,可以用vi打开该配置文件,或者设置显示隐藏文件,这样你就可以用sublime text 软件打开,主要是修改文件中的一个配置项:

## 用于笔记本和内核的目录。
c.NotebookApp.notebook_dir = ‘/Users/znss/Public/work/workspace/python/’
1
2
把这里的路径填写为你自己想要设置的路径就可以了,这样每次打开都会去找这个路径。

同时为了让jupyter notebook 可以使用conda创建的多个环境,如图所示:

使用conda安装插件,命令如下所示:

conda install nb_conda
1
插件一路yes 之后安装完毕,你可以启动,另一种方式:

python -m ipykernel install –user –name py3 –display-name “py3”

1
2
存在的问题
1、本地用pip 安装的库包,conda 创建的环境是不是都可以用?
2、conda base环境下安装的库包,是不是conda其他环境都可以用
3、进而存在,移除base包,其他所有创建的环境是不是都失效了,没有了环境?
————————————————

anaconda下改变python的版本
根据网页:http://python.jobbole.com/87522/

使用以下命令创建新环境:
conda create -n env_name list of packages

其中 -n 代表 name,env_name 是需要创建的环境名称,list of packages 则是列出在新环境中需要安装的工具包。

比如我现在的python版本是3.7,但是我想安装一个python 3.6的环境,则在anaconda prompt输入:
conda create -n py36 python=3.6

控制台会输出:

以及

# To activate this environment, use
#
# $ conda activate py36
#
# To deactivate an active environment, use
#
# $ conda deactivate
1
2
3
4
5
6
7
还是很酷很方便的。

现在激活这个新配置的环境:conda activate py36
输入python –version,可以看到:

(py36) C:\Users\dehen>python –version
Python 3.6.6 :: Anaconda, Inc.

(py36) C:\Users\dehen>
1
2
3
4
这时候打开anaconda navigator,发现多出来一个环境选择,太酷了。

这时候install 这个spyder就可以运行3.6版本下的程序了。

 

索性再配置一个python2.7的新环境:conda create -n py27 python=2.7
很快就显示配置完成并输出提示:

# To activate this environment, use
#
# $ conda activate py27
#
# To deactivate an active environment, use
#
# $ conda deactivate
1
2
3
4
5
6
7
所以,这样看来确实很方便,各个环境互相独立,都放在文件夹 D:\software\anaconda\envs 下:

还有,如果要删除我们配置的新环境,则:
conda env remove -n env_name

显示所有环境:
conda env list

当分享代码的时候,同时也需要将运行环境分享给大家,执行如下命令可以将当前环境下的 package 信息存入名为 environment 的 YAML 文件中。[6]
conda env export > environment.yaml

同样,当执行他人的代码时,也需要配置相应的环境。这时你可以用对方分享的 YAML 文件来创建一摸一样的运行环境。
conda env create -f environment.yaml
————————————————

 

anaconda没有重命名命令,因此使用克隆删除的方法

(1)进入旧环境
conda activate old_name
(2)克隆旧环境
conda create -n new_name –clone old_name
(3)退出旧环境
conda deactivate
(4)查看clone结果
conda info –envs
(5)删除旧环境
conda remove -n old_name –all
(6)查看最终结果
conda info –envs
————————————————
版权声明:本文为CSDN博主「不要清汤锅」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hello_program_world/article/details/111054427

 

用selenium库爬取58同城售房信息

代码来了

#引入selenium、 pandas、openpyxl库
from selenium import webdriver
import pandas as pd
import openpyxl
#定义存储变量
xq=[]
hxmj=[]
dj=[]
zj=[]
#获取网页源代码
for i in range(5):
url=’https://cd.58.com/ershoufang/pn’+str(i)+’/’
browser = webdriver.Chrome()
browser.get(url)
#解析源代码,提取所需数据信息
for i in browser.find_elements_by_class_name(‘sendsoj’):
xq.append(i.find_elements_by_class_name(‘baseinfo’)[1].text)
hxmj.append(i.find_elements_by_class_name(‘baseinfo’)[0].text.replace(‘\n’,”))
dj.append(i.find_elements_by_class_name(‘price’)[0].find_elements_by_class_name(‘unit’)[0].text)
zj.append(i.find_elements_by_class_name(‘price’)[0].find_elements_by_class_name(‘sum’)[0].text)
pd.DataFrame({‘小区’:xq,’户型/面积’:hxmj,’单价’:dj,’总价’:zj})
data=pd.DataFrame({‘小区’:xq,’户型/面积’:hxmj,’单价’:dj,’总价’:zj})
writer=pd.ExcelWriter(’58.xlsx’)
data.to_excel(writer,’爬虫数据’)
writer.save()

Jupyter notebook使用技巧大全

Jupyter Notebook是一款开源的web应用,它允许使用者创建和分享包含代码,公式,可视化图表和纯文本的文档,并支持多种编程语言的交互式计算,对于python用户来讲更是一款十分方便的代码编写工具。只需要通过web浏览器就可以很方便地进行数据清洗和转换,数值模拟,统计建模,数据可视化,机器学习等。本文主要介绍Jupyter Notebook结合python的使用。

Jupyter Notebook安装

Jupyter Notebook的前身是IPython Notebook,对python2,python3都有很好的支持。相比于Pycharm,它安装更方便,代码块可以分开运行,支持MarkDown和LaTex,是对于数据分析人员特别友好的一个很“轻”的工具。通常可以在本地启动Jupyter Notebook服务,通过web浏览器使用它。实际工作中,有些公司会统一部署在线的Jupyter Notebook服务,同样通过相应的链接就可以访问,支持直接连接Hive表,使用pyspark等。另外,在一些数据平台上,例如kaggle,科赛等,很多代码也是通过notebook的形式进行分享,代码运行结果,图像等能够保留,因此具有较强的易读性。

对于本地的安装,有以下方式。

方法一:Anaconda安装

这是官方强烈推荐 的一种安装方式。Anaconda本身包含了Python,Jupyter Notebook以及其他常用的数据科学包,如Pandas,Numpy等。安装完Anaconda之后,通过Anaconda Navigator就可以快速启动。也可以在终端中执行jupyter notebook命令来启动,windows下安装好Anaconda之后,可以找到相应的导航器和Prompt命令行来启动。

640?wx_fmt=png

Anaconda Navigator打不开的解决办法

有时候,在通过anaconda prompt窗口执行conda install ***的安装库的命令后发生无法打开anaconda navigator的情况。

如何修复?

在搜索网络中各种解决方法并加以尝试后,总结出以下方案:

  1. 以管理员权限打开anaconda prompt
  2. 输入conda update conda
  3. 输入conda update –all
  4. 尝试打开anaconda navigator
  5. 如果不行,输入 conda update anaconda-navigator
  6. 输入anaconda-navigator –reset
  7. 输入conda update anaconda-client
  8. 输入conda update -f anaconda-client

执行以上所有命令行,大概率可修复anaconda navigator

方式二:pip安装

pip是python的一款包管理工具,通过pip install pkg_name可以完成很多python扩展包的安装。jupyter notebook 同样,执行pip install jupyter即可完成安装。

Jupyter Notebook入门
  1. 启动在终端中输入jupyter notebook是最常用的启动方式,默认在本地的8888端口启动。如果本地已经有一个jupyter正在运行,再启动一个就会运行在8889端口。运行完该命令,会在系统默认的浏览器打开一个网页,网页的地址是:http://localhost:8888/tree
    640?wx_fmt=png

    需要注意的是我们执行该启动命令的目录就是启动之后的根目录。如果你是要打开已经存在的.ipynb文件,最好切换到该文件所在目录再启动,或者启动之后将文件移动(或复制)到启动目录下。

    另外,如果想换一个浏览器打开jupyter notebook(我习惯用Chrome而不是默认的Safari),一种方式是可以复制浏览器的链接地址在目标浏览器中粘贴访问,此时可能出现类似于如下的界面。此时需要回到终端中,复制一下token填入token框,点击login即可正常访问。

    640?wx_fmt=png
  2. 总体使用如下图所示,该页面是启动之后默认打开的页面。我们可以看到当前目录下已有的文件,可以查看已有的jupyter 文件(灰色表示未在运行,绿色表示正在运行),可以点击查看子目录下的内容。
    640?wx_fmt=png

    我们点击右侧的New,选择Python3会在新的页面中建立一个未命名的notebook文件,选择Text File会新的页面中建立一个未命名的txt文件,选择Folder会在当前页面中建立一个未命名文件夹,选择Terminal会在新的页面中建立Terminal。

    640?wx_fmt=png

    可以在左侧进行勾选,对文件夹进行重命名,移动或删除,对文件进行复制,重命名,移动,下载,查看,编辑和删除。

    640?wx_fmt=png

    Running选项卡下可以看到当前正在运行的terminal和notebook,使我们可以对目前的资源使用情况进行一个直观了解。

    640?wx_fmt=png
  3. 退出如果要停止某个正在执行的notebook文件,可以在file选项卡下勾选该文件,点击shutdown(也可以用其他方式,见后文)。如果要关闭整个jupyter notebook,可以在终端中按下键盘上的Ctrl C即可。
    640?wx_fmt=png
Notebook使用说明

接下来我们重点说明一下新建“python3”之后的操作,这也是最常用的编写python文件的操作。

1.总体布局

640?wx_fmt=png

上面图中大致说明了Notebook中每一部分的作用,对平常使用python运行程序来讲,快捷命令已经足够。快捷命令工具条从左到后的图标依次表示:保存文件,添加新cell,剪切选中的cell,复制选中的cell,粘贴选中的cell,将选中cell上移,将选中cell下移,执行选中的cell,终止kernel,重启kernel,重启kernel并重新运行所有cell。Code点击之后有四个选项,分别是:Code(写python代码),MarkDown(写MarkDown代码,通常用于注释),Raw NBConvert(一个转换工具),Heading(快捷添加MarkDown标题)。最后一个小键盘可以查看和搜索一些快捷键的操作。

2. 常用菜单操作:

  • 修改文件名:可以点击文件名称,在弹出的框中直接修改或者File—>Rename
  • 新建Notebook文件:File—>New Notebook—>python3
  • 下载文件:File—>Download as —> 选择目标格式即可下载
  • 合并cell:Edit—>Merge Cell Above或Merge Cell Below
  • 重启Kernel并清除所有输出:Kernel—>Restart & Clear Output
  • 重启Kernel并运行所有cell:Kernel—>Restart & Run All
  • 停止当前Notebook运行:Kernel—>ShutDown

这里只列出了常用的菜单操作,没有列出的并不表示不常用,而是可以用快捷键或者菜单栏下方的快捷工具代替。如果需要查看每一个菜单选项的含义和作用,推荐文章:https://blog.51cto.com/853056088/2162189,写的非常详细。

3. 命令模式和编辑模式

每一个cell有两种模式:命令模式和编辑模式。如下图所示:最左侧是蓝色的条是命令模式,是绿色的条表示编辑模式(此时cell中有光标,可以进行代码编写)。在命令模式下,按下enter或者鼠标单击代码框可以进入编辑模式。在编辑模式下,按下esc或者鼠标单击代码框左侧区域即可进入命令模式。

640?wx_fmt=png 4. 常用快捷(键)操作:

代码运行:

  • ctrl + enter:运行当前cell的代码,运行完后依然保持在当前cell
  • shift + enter:运行当前cell的代码,运行完后跳转到下一个cell,如果是最后一个cell则会新增一个
  • 工具条上的Run

创建新的cell:

  • 命令模式下,按下字母a(above),会在当前cell上方增加一个cell
  • 命令模式下,按下字母b(blove),会在当前cell下方增加一个cell
  • 工具条上的➕按钮

删除当前侧cell

  • 命令模式下,按下字母x,即可删除当前cell
  • 命令模式下,连续两次按下字母d,即可删除当前cell
  • 工具条上的“剪刀”按钮

合并cell

  • 命令模式下,选中多个cell,shift + M可以进行合并
  • Edit—>Merge Cell Above/Merge Cell Down

拆分cell

  • 编辑模式下,以光标所在之处为分界点,ctrl shift -(减号),可以进cell的拆分
  • Edit—>Split Cell

保存代码

  • 命令模式下,按下字母s,就能创建一个checkpoint
  • 工具条上的保存按钮
  • File—>Save and Checkpoint

查找替换

  • 编辑模式下,ESC + F
  • Edit—>Find and Replace

折叠输出:有时输出过长的情况

  • 编辑模式下,ESC+O
  • 在cell左侧位置上双击即可折叠
  • Cell—>Current Output—>Toggle

显示代码行号

  • 命令模式下,按下字母l(L的小写,键盘k右侧的l)键,就能显示当前cell的行号
  • shift + l,显示所有cell的行号
  • View—>Toggle Line Numbers

切换代码类型

  • 命令模式下,按下m切换到MarkDown模式,再按下y切换到code模式
  • 工具条上手动切换
  • Cell—>Cell Type—>选择相应的代码类型

注释代码

  • 选中代码,command+/ (windows下是control)注:其他的快捷键可以点击工具栏最后的小键盘查看。

tab键的使用

  • 只输入变量或者函数的前几个字母,按下tab可以自动补全
  • 已经输入函数,连续按下shift+tab可以查询函数的具体用法,(一直可以按4次)
    640?wx_fmt=png

     

执行shell命令

  • 英文状态下的感叹号+普通的shell命令,例如:!pwd!ls等,有些时候或许很有用。

5. 魔法函数

640?wx_fmt=png

以上是一些常用的魔法函数,其他的一些魔法函数依然可以查阅上面的链接,

https://blog.51cto.com/853056088/2162189吗,读者可以查阅其具体的用法。

Jupyter Notebook扩展

执行以下代码可以安装jupyter notebook扩展

pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install

640?wx_fmt=png

安装完之后,重新启动一下jupyter 服务,就可以看到Nbextensions选项卡。我们只需要勾选相应的插件,在每一个notebook的工具条中就会出现相应的扩展。选中每个扩展的时候,在其下方都会出现关于该扩展的说明,演示,配置等情况,通过仔细阅读我们就能得知该扩展的用法。

640?wx_fmt=png

比较好用的几个扩展及其作用如下:

1.Table of Contents

这个扩展一般用于整个文件的目录很多的时候。首先在Nbextensions选项卡中勾选该插件,然后在工具条中就可以看到该扩展按钮。如果我们在notebook中使用了MarkDown设置了我们的标题,点击该扩展,就会在左侧生成目录,点击左侧的齿轮,可以在最顶部添加一个cell专门用来显示目录。点击左侧和顶部的链接都可以快速跳转到相应的位置。还可以进行目录的折叠。注意到此时菜单栏上也多了一个“Navigate”标签,同样显示了目录的情况。

640?wx_fmt=png

2.Autopep8

这是一个将代码按照PEP8进行格式化的插件,前提是需要通过pip install autopep8安装autopep8,安装完之后需要重启jupyter notebook服务才能生效。同样在Nbextention选项卡中勾选Autopep8,在工具栏中会多一个“锤子”一样的按钮,可以帮助我们排版代码,使其符合pep8标准。

640?wx_fmt=png

3.Variable inspector

该插件可以帮助我们查看当前notebook中所有的变量的名称,类型,大小和值。省去了df.shape,type()等语句的执行,也代替了前文提到的魔法函数“%whos”的执行,读者可以自行尝试一下。

4.Code folding

顾名思义,该插件可以对代码进行一定的折叠,例如遇到class,def等关键字,而且主体代码又很长时,折叠代码会方便阅读,这一点也让jupyter notebook更像一个IDE。

5.Execute time

该插件可以显示每一个cell中代码的执行时间。

640?wx_fmt=png

除此之外还有一些其他常见的插件扩展,例如Notify,Collapsible headings等,读者可以自行探索查看,并配置使用。

其他说明
  • 制作幻灯片并放映:参考该链接的第二部分:https://blog.csdn.net/qq_27825451/article/details/85050496
  • 数学公式编辑:这个其实是MarkDown功能的延伸,需要将cell的代码类型改为MarkDown,然后在一对美元符号之间写入LaTex公式,(例如$E=mc^2$),运行cell之后就可以正常显示公式了。
  • 关于jupyter lab和jupyter hubjupyter lab是基于jupyter notebook的新版本,是包括了Notebook的下一代的有模块化的界面,可以在同一个窗口同时打开好几个notebook或文件(HTML, TXT, Markdown等等),都以标签的形式展示,于是就更像是一个IDE。除了界面上存在差异,使用方式上和notebook没有大的差别。
    640?wx_fmt=png

    jupyter hub是一个支持多用户的 Jupyter Notebook 服务器,用于创建、管理、代理多个 Jupyter Notebook 实例。具有扩展性和可定制性。常见的场景是公司的运维人员对很多人使用的Notebook进行管理和资源分配。这里不太方便演示。

  • 关于jupyter notebook与pycharm的差别个人认为notebook是更“轻”量级的,适合小白使用。各个cell之间具有相对独立,且变量共享的特点,某些时候特别有用。(例如在爬虫时,请求一次就获得了html源码,后面进行页面解析时就可以以此为基础进行调试,无需再次请求,在处理对请求频次有限制的网站时还是很有用的)。除此外,notebook能够保存中间结果,方便演示,适合数据分析人员或者数据科学家使用。pycharm更适合大型工程项目的管理,每一个文件是一次执行的。如果一个项目工程中有很多个文件,这时最好使用pycharm。此外pycharm在代码编辑时,随时会有提示,而且支持代码跳转,便于对源码的查看学习。当然工具毕竟只是工具,适合自己的就是最好的,读者可以根据自己的需求和使用习惯进行选择。

Jupyter Notebook介绍、安装及使用教程

Raxxie
34字数 8,961阅读 1,237,147
目录

一、什么是Jupyter Notebook?

1. 简介

Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。——Jupyter Notebook官方介绍

简而言之,Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示。如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明和解释。

2. 组成部分

① 网页应用

网页应用即基于网页形式的、结合了编写说明文档、数学公式、交互计算和其他富媒体形式的工具。简言之,网页应用是可以实现各种功能的工具。

② 文档

即Jupyter Notebook中所有交互计算、编写说明文档、数学公式、图片以及其他富媒体形式的输入和输出,都是以文档的形式体现的。

这些文档是保存为后缀名为.ipynbJSON格式文件,不仅便于版本控制,也方便与他人共享。

此外,文档还可以导出为:HTML、LaTeX、PDF等格式。

3. Jupyter Notebook的主要特点

  1. 编程时具有语法高亮缩进tab补全的功能。
  2. 可直接通过浏览器运行代码,同时在代码块下方展示运行结果。
  3. 以富媒体格式展示计算结果。富媒体格式包括:HTML,LaTeX,PNG,SVG等。
  4. 对代码编写说明文档或语句时,支持Markdown语法。
  5. 支持使用LaTeX编写数学性说明。

二、安装Jupyter Notebook

0. 先试用,再决定

如果看了以上对Jupyter Notebook的介绍你还是拿不定主意究竟是否适合你,那么不要担心,你可以先免安装试用体验一下,戳这里,然后再做决定。

值得注意的是,官方提供的同时试用是有限的,如果你点击链接之后进入的页面如下图所示,那么不要着急,过会儿再试试看吧。

试用失败

如果你足够幸运,那么你将看到如下界面,就可以开始体验啦。

主界面

试用成功

编辑页面

编辑页面

1. 安装

① 安装前提

安装Jupyter Notebook的前提是需要安装了Python(3.3版本及以上,或2.7版本)。

② 使用Anaconda安装

如果你是小白,那么建议你通过安装Anaconda来解决Jupyter Notebook的安装问题,因为Anaconda已经自动为你安装了Jupter Notebook及其他工具,还有python中超过180个科学包及其依赖项。

你可以通过进入Anaconda的官方下载页面自行选择下载;如果你对阅读英文文档感到头痛,或者对安装步骤一无所知,甚至也想快速了解一下什么是Anaconda,那么可以前往我的另一篇文章Anaconda介绍、安装及使用教程。你想要的,都在里面!

常规来说,安装了Anaconda发行版时已经自动为你安装了Jupyter Notebook的,但如果没有自动安装,那么就在终端(Linux或macOS的“终端”,Windows的“Anaconda Prompt”,以下均简称“终端”)中输入以下命令安装:

 

conda install jupyter notebook

③ 使用pip命令安装

如果你是有经验的Python玩家,想要尝试用pip命令来安装Jupyter Notebook,那么请看以下步骤吧!接下来的命令都输入在终端当中的噢!

  1. 把pip升级到最新版本
    • Python 3.x

     

    pip3 install --upgrade pip
    
    • Python 2.x

     

    pip install --upgrade pip
    
  • 注意:老版本的pip在安装Jupyter Notebook过程中或面临依赖项无法同步安装的问题。因此强烈建议先把pip升级到最新版本。
  1. 安装Jupyter Notebook
    • Python 3.x

     

    pip3 install jupyter
    
    • Python 2.x

     

    pip install jupyter
    

三、运行Jupyter Notebook

0. 帮助

如果你有任何jupyter notebook命令的疑问,可以考虑查看官方帮助文档,命令如下:

 

jupyter notebook --help

 

jupyter notebook -h

1. 启动

① 默认端口启动

在终端中输入以下命令:

 

jupyter notebook

执行命令之后,在终端中将会显示一系列notebook的服务器信息,同时浏览器将会自动启动Jupyter Notebook。

启动过程中终端显示内容如下:

 

$ jupyter notebook
[I 08:58:24.417 NotebookApp] Serving notebooks from local directory: /Users/catherine
[I 08:58:24.417 NotebookApp] 0 active kernels
[I 08:58:24.417 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
[I 08:58:24.417 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
  • 注意:之后在Jupyter Notebook的所有操作,都请保持终端不要关闭,因为一旦关闭终端,就会断开与本地服务器的链接,你将无法在Jupyter Notebook中进行其他操作啦。

浏览器地址栏中默认地将会显示:http://localhost:8888。其中,“localhost”指的是本机,“8888”则是端口号。

URL

 

如果你同时启动了多个Jupyter Notebook,由于默认端口“8888”被占用,因此地址栏中的数字将从“8888”起,每多启动一个Jupyter Notebook数字就加1,如“8889”、“8890”……

② 指定端口启动

如果你想自定义端口号来启动Jupyter Notebook,可以在终端中输入以下命令:

 

jupyter notebook --port <port_number>

其中,“<port_number>”是自定义端口号,直接以数字的形式写在命令当中,数字两边不加尖括号“<>”。如:jupyter notebook --port 9999,即在端口号为“9999”的服务器启动Jupyter Notebook。

③ 启动服务器但不打开浏览器

如果你只是想启动Jupyter Notebook的服务器但不打算立刻进入到主页面,那么就无需立刻启动浏览器。在终端中输入:

 

jupyter notebook --no-browser

此时,将会在终端显示启动的服务器信息,并在服务器启动之后,显示出打开浏览器页面的链接。当你需要启动浏览器页面时,只需要复制链接,并粘贴在浏览器的地址栏中,轻按回车变转到了你的Jupyter Notebook页面。

no_browser

例图中由于在完成上面内容时我同时启动了多个Jupyter Notebook,因此显示我的“8888”端口号被占用,最终分配给我的是“8889”。

2. 主页面

① 主页面内容

当执行完启动命令之后,浏览器将会进入到Notebook的主页面,如下图所示。

Notebook Dashboard

如果你的主页面里边的文件夹跟我的不同,或者你在疑惑为什么首次启动里边就已经有这么多文件夹,不要担心,这里边的文件夹全都是你的家目录里的目录文件。你可以在终端中执行以下2步来查看:

① cd 或 cd - 或 cd ~ 或cd /Users/<user_name>

  • 这个命令将会进入你的家目录。
  • “<user_name>” 是用户名。用户名两边不加尖括号“<>”。

② ls

  • 这个命令将会展示你家目录下的文件。

② 设置Jupyter Notebook文件存放位置

如果你不想把今后在Jupyter Notebook中编写的所有文档都直接保存在家目录下,那你需要修改Jupyter Notebook的文件存放路径。

⑴ 创建文件夹/目录

  • Windows用户在想要存放Jupyter Notebook文件的磁盘新建文件夹并为该文件夹命名;双击进入该文件夹,然后复制地址栏中的路径。
  • Linux/macOS用户在想要存放Jupyter Notebook文件的位置创建目录并为目录命名,命令为:mkdir <directory_name>;进入目录,命令为:cd <directory_name>;查看目录的路径,命令为:pwd;复制该路径。
  • 注意:“<directory_name>”是自定义的目录名。目录名两边不加尖括号“<>”。

⑵ 配置文件路径

  • 一个便捷获取配置文件所在路径的命令:

 

jupyter notebook --generate-config
  • 注意: 这条命令虽然可以用于查看配置文件所在的路径,但主要用途是是否将这个路径下的配置文件替换默认配置文件
    如果你是第一次查询,那么或许不会出现下图的提示;若文件已经存在或被修改,使用这个命令之后会出现询问“Overwrite /Users/raxxie/.jupyter/jupyter_notebook_config.py with default config? [y/N]”,即“用默认配置文件覆盖此路径下的文件吗?”,如果按“y”,则完成覆盖,那么之前所做的修改都将失效;如果只是为了查询路径,那么一定要输入“N”。
命令

常规的情况下,Windows和Linux/macOS的配置文件所在路径和配置文件名如下所述:

  • Windows系统的配置文件路径:C:\Users\<user_name>\.jupyter\
  • Linux/macOS系统的配置文件路径:/Users/<user_name>/.jupyter/ 或 ~/.jupyter/
  • 配置文件名:jupyter_notebook_config.py
  • 注意:

① “<user_name>”为你的用户名。用户名两边不加尖括号“<>”。

② Windows和Linux/macOS系统的配置文件存放路径其实是相同的,只是系统不同,表现形式有所不同而已。

③ Windows和Linux/macOS系统的配置文件也是相同的。文件名以“.py”结尾,是Python的可执行文件。

④ 如果你不是通过一步到位的方式前往配置文件所在位置,而是一层一层进入文件夹/目录的,那么当你进入家目录后,用ls命令会发现找不到“.jupyter”文件夹/目录。这是因为凡是以“.”开头的目录都是隐藏文件,你可以通过ls -a命令查看当前位置下所有的隐藏文件。

⑶ 修改配置文件

  • Windows系统的用户可以使用文档编辑工具或IDE打开“jupyter_notebook_config.py”文件并进行编辑。常用的文档编辑工具和IDE有记事本、Notepad++、vim、Sublime Text、PyCharm等。其中,vim是没有图形界面的,是一款学习曲线较为陡峭的编辑器,其他工具在此不做使用说明,因为上手相对简单。通过vim修改配置文件的方法请继续往下阅读。
  • Linux/macOS系统的用户建议直接通过终端调用vim来对配置文件进行修改。具体操作步骤如下:
⒜ 打开配置文件

打开终端,输入命令:

 

vim ~/.jupyter/jupyter_notebook_config.py
vim打开配置文件

执行上述命令后便进入到配置文件当中了。

⒝ 查找关键词

进入配置文件后查找关键词“c.NotebookApp.notebook_dir”。查找方法如下:

进入配置文件后不要按其他键,用英文半角直接输入/c.NotebookApp.notebook_dir,这时搜索的关键词已在文档中高亮显示了,按回车,光标从底部切换到文档正文中被查找关键词的首字母。

⒞ 编辑配置文件

小写i进入编辑模式,底部出现“–INSERT–”说明成功进入编辑模式。使用方向键把光标定位在第二个单引号上(光标定位在哪个字符,就在这个字符前开始输入),把“⑴ 创建文件夹/目录”步骤中复制的路径粘贴在此处。

⒟ 取消注释

把该行行首的井号(#)删除。因为配置文件是Python的可执行文件,在Python中,井号(#)表示注释,即在编译过程中不会执行该行命令,所以为了使修改生效,需要删除井号(#)。

以下是针对Ubuntu16的服务器,其他的可能有部分区别。

第一步,下载anaconda3:

wget https://repo.continuum.io/archive/Anaconda3-4.2.0-Linux-x86_64.sh
  • 1

第二步,安装anaconda3(为避免一些权限问题,我一般简单粗暴的加sudo,这里好像可以不加):

sudo bash Anaconda3-4.2.0-Linux-x86_64.sh
  • 1

1)请输入回车键继续(Please, press ENTER to continue)
如果出现more,一直按空格键就行
2)是否同意协议(Do you approve the license terms?[yes | no]) 不要直接回车,因为默认为no
3) 输入安装路径(Anaconda3 will now be installed into this location:)
默认是/usr/ubuntu/anaconda3,可以修改,我的目录是/usr/local/anaconda(我也不经常使用Ubuntu,不知道装在哪里比较好,只是觉得装在家目录不好,就像Windows装在桌面一样)
4)是否将安装路径添加到当前用户的环境变量(…)
默认为no,改为yes
5)是否安装vscode
yes/no都行,不知道哪里需要这个,我选yes显示请检查你的网络连接,是否重试,然后一直这样,我就选no了
6)重新加载环境变量
source ~/.bashrc
7)输入conda –version验证是否安装成功

第三步:
1、输入ipython进入python3.6.5的ipython编辑器
分别输入:
from notebook.auth import passwd
passwd()
然后连续输入两次密码,复制它的返回值

2、 执行
jupyter notebook –generate-config
命令会产生一个配置文件:/home/ubuntu/.jupyter/jupyter_notebook_config.py
3、编辑配置文件
vi /home/ubuntu/.jupyter/jupyter_notebook_config.py
你可以直接在末尾添加,这样就不需要在配置文件中找这些参数,如果修改记得删掉前面的#。
c.NotebookApp.allow_remote_access = True # 有的有,有的没有,很奇怪
c.NotebookApp.ip = ‘*’ # 允许访问此服务器的 IP,星号表示任意 IP
c.NotebookApp.password = u’sha1:xxx:xxx’ # 之前复制的一长串密码的hash值
c.NotebookApp.open_browser = False # 运行时不打开本机浏览器
c.NotebookApp.port = 1024 # 使用的端口,随意设置,不被占用就行
如果是root用户,
c.NotebookApp.allow_root = True
保存退出
4、 后台运行jupyter notebook
nohup jupyter notebook > jupyter.log 2>&1 &
运行jupyter并输出重定向到jupyter.log文件,错误输出重定向到输出重定向,也就是也输出到这个文件,&表示后台运行

本地浏览器输入服务器IP:端口测试能不能连接。我用的是域名,比如:www.blisst.cn:1024,输入设置的密码即可使用了。如果不能连接请关闭防火墙:systemctl stop firewalld.service

如果是阿里云和腾讯云需要在安全组里开放相应的端口并绑定给服务器,我配置的顺序略有不同,如果出现问题,请留言告知。

原文博客:https://blog.csdn.net/Qwertyuiop2016/
现在这个是小号,给爬虫用的

Python爬虫实战入门一:工具准备

一、基础知识

使用Python编写爬虫,当然至少得了解Python基本的语法,了解:

  • 基本数据结构
  • 数据类型
  • 控制流
  • 函数的使用
  • 模块的使用

不需要过多过深的Python知识,仅此而已。
个人推荐《Python简明教程》http://www.kuqin.com/abyteofpython_cn/、

Python官方的《Python教程》

http://python.usyiyi.cn/translate/python_352/tutorial/index.html
如果需要PDF版Python入门资料,可以关注回复关键字:python入门资料

二、开发环境、

  • 操作系统:Windows 7
  • Python版本:Python 3.4
  • 代码编辑运行环境:个人推荐PyCharm社区版,当然,Python自带的IDLE也行,Notepad++亦可,只要自己使用得习惯。

三、第三方依赖库

  • requests:一个方便、简洁、高效且人性化的HTTP请求库
  • BeautifulSoup:HTML解析库
  • pymongo:MongoDB的Python封装模块
  • selenium:一个Web自动化测试框架,用于模拟登录和获取JS动态数据
  • pytesseract:一个OCR识别模块,用于验证码识别
  • Pillow:Python图像处理模块

四、第三方库安装:

上面列出的第三方模块大多可以通过pip install ××的方式直接安装,部分模块安装方式不一样,下面一一演示:
requests
pip install requests

图片

BeautifulSoup
pip install bs4

图片

pymongo
pip install pymongo

图片

selenium
pip install selenium

图片

Pillow
1、打开http://www.lfd.uci.edu/~gohlke/pythonlibs/
2、搜索找到“pillow”
3、根据自己系统的版本选择对应的下载包

图片

4、安装
pip install Pillow‑4.0.0‑cp34‑cp34m‑win32.whl

图片

pytesseract
1、pip install pytesseract

图片

2、安装tesseract
下载并安装:https://tesseract-ocr.googlecode.com/files/tesseract-ocr-setup-3.02.02.exe

这样,我们的准备工作就基本完成,如果有另外的需求,在实战中再进行安装,接下来就可以实战Python爬虫了。

测试 Cloudflare CDN 延迟和速度,自选优选最快 IP (v4+v6)!

「原创」测试 Cloudflare CDN 延迟和速度,自选优选最快 IP (v4+v6)!

「原创」

国外很多网站都在使用 Cloudflare CDN,但分配给中国访客的 IP 并不友好。虽然 Cloudflare 公开了其所有 IP 段 ,但想要在这么多 IP 中找到适合自己的,怕是要累死,所以就有了这个软件。

该软件可以批量测试 Cloudflare CDN 延迟和速度,获取自选 优选最快 IP (IPv4+IPv6)!

开源项目:https://github.com/XIU2/CloudflareSpeedTest (好用的话点个⭐鼓励一下叭~


快速使用

  1. 下载编译好的可执行文件 [蓝奏云] / [Github] 并解压。
  2. 双击运行 CloudflareST.exe 文件(Windows),等待测速完成…

手机上独立运行 CloudflareST 测速的简单教程:AndroidIOS
建议测速时避开晚上高峰期(20:00~24:00),否则测速结果会与其他时间相差很大…

测速完毕后,会直接显示最快的 10 个 IP,示例:

IP 地址           已发送  已接收  丢包率  平均延迟  下载速度 (MB/s)
104.27.200.69     4       4       0.00    146.23    28.64
172.67.60.78      4       4       0.00    139.82    15.02
104.25.140.153    4       4       0.00    146.49    14.90
104.27.192.65     4       4       0.00    140.28    14.07
172.67.62.214     4       4       0.00    139.29    12.71
104.27.207.5      4       4       0.00    145.92    11.95
172.67.54.193     4       4       0.00    146.71    11.55
104.22.66.8       4       4       0.00    147.42    11.11
104.27.197.63     4       4       0.00    131.29    10.26
172.67.58.91      4       4       0.00    140.19    9.14
...

# 因为默认下载测速地址的文件大小只有 300MB,如果你速度太快的话,测速结果可能会低于实际速度。
# 官方 500MB (可自定义大小) 下载测速地址:https://speed.cloudflare.com/__down?bytes=500000000
# 因为每次测速都是在每个 IP 段中随机 IP,所以每次的测速结果都不可能相同,这是正常的!

# 软件是先 延迟测速并按从低到高排序后,再从 最低延迟的 IP 开始下载测速的,所以:

测速结果第一行就是既下载速度最快、又平均延迟最低的最快 IP!至于拿来干嘛?取决于你~

完整结果保存在当前目录下的 result.csv 文件中,用记事本/表格软件打开,格式如下:

IP 地址, 已发送, 已接收, 丢包率, 平均延迟, 下载速度 (MB/s)
104.27.200.69, 4, 4, 0.00, 146.23, 28.64

大家可以按自己需求,对完整结果进一步筛选处理,或者去看一看进阶使用指定过滤条件


进阶使用

直接运行使用的是默认参数,如果想要测速结果更全面、更符合自己的要求,可以自定义参数。

C:\>CloudflareST.exe -h

CloudflareSpeedTest vX.X.X
测试 Cloudflare CDN 所有 IP 的延迟和速度,获取最快 IP (IPv4+IPv6)!
https://github.com/XIU2/CloudflareSpeedTest

参数:
    -n 200
        测速线程数量;越多测速越快,性能弱的设备 (如路由器) 请勿太高;(默认 200 最多 1000)
    -t 4
        延迟测速次数;单个 IP 延迟测速次数,为 1 时将过滤丢包的IP,TCP协议;(默认 4)
    -tp 443
        指定测速端口;延迟测速/下载测速时使用的端口;(默认 443 端口)
    -dn 10
        下载测速数量;延迟测速并排序后,从最低延迟起下载测速的数量;(默认 10)
    -dt 10
        下载测速时间;单个 IP 下载测速最长时间,不能太短;(默认 10)
    -url https://cf.xiu2.xyz/Github/CloudflareSpeedTest.png (默认 300MB)
    -url https://speed.cloudflare.com/__down?bytes=500000000 (官方 500MB 且可自定义大小)
        下载测速地址;用来下载测速的 Cloudflare CDN 文件地址,文件太小可能导致测速结果不准确;
    -tl 200
        平均延迟上限;只输出低于指定平均延迟的 IP,可与其他上限/下限搭配;(默认 9999 ms)
    -tll 40
        平均延迟下限;只输出高于指定平均延迟的 IP,可与其他上限/下限搭配;(默认 0 ms)
    -sl 5
        下载速度下限;只输出高于指定下载速度的 IP,凑够指定数量 [-dn] 才会停止测速;(默认 0.00 MB/s)
    -p 10
        显示结果数量;测速后直接显示指定数量的结果,为 0 时不显示结果直接退出;(默认 10)
    -f ip.txt
        IP段数据文件;如路径含有空格请加上引号;支持其他 CDN IP段;(默认 ip.txt)
    -o result.csv
        写入结果文件;如路径含有空格请加上引号;值为空时不写入文件 [-o ""](默认 result.csv)
    -dd
        禁用下载测速;禁用后测速结果会按延迟排序 (默认按下载速度排序)(默认 启用)
    -ipv6
        IPv6测速模式;确保 IP 段数据文件内只包含 IPv6 IP段,软件不支持同时测速 IPv4+IPv6;(默认 IPv4)
    -allip
        测速全部的IP;对 IP 段中的每个 IP (仅支持 IPv4) 进行测速;(默认 每个 IP 段随机测速一个 IP)
    -v
        打印程序版本+检查版本更新
    -h
        打印帮助说明

使用示例

在 CMD 中运行,或者把启动参数添加到快捷方式中。

# 命令行示例
# 注意:各参数均有默认值,只有不使用默认值时,才需要手动指定参数的值(按需选择),参数不分前后顺序。  
# 提示: Linux 系统只需要把下面命令中的 CloudflareST.exe 改为 ./CloudflareST 即可。  

# 测速 IPv4 时,需要指定 IPv4 数据文件(-f 默认值就是 ip.txt,所以该参数可以省略)
CloudflareST.exe -f ip.txt

# 测速 IPv6 时,需要指定 IPv6 数据文件( ipv6.txt ),需要加上 -ipv6 参数
CloudflareST.exe -f ipv6.txt -ipv6

# ——————————————————————

# 指定 IPv4 数据文件,不显示结果直接退出,输出结果到文件(-p 值为 0)
CloudflareST.exe -f 1.txt -p 0 -dd

# 指定 IPv4 数据文件,不输出结果到文件,直接显示结果(-p 值为 10 条,-o 值为空但引号不能少)
CloudflareST.exe -f 2.txt -o "" -p 10 -dd

# 指定 IPv4 数据文件 及 输出结果到文件(相对路径,即当前目录下,如含空格请加上引号)
CloudflareST.exe -f 3.txt -o result.txt -dd

# ——————————————————————

# 地址要求:可以直接下载、文件大小超过 200MB、用的是 Cloudflare CDN
CloudflareST.exe -url https://cf.xiu2.xyz/Github/CloudflareSpeedTest.png
# 因为默认下载测速地址的文件大小只有 300MB,如果你速度太快的话,测速结果可能会低于实际速度。
# 因此推荐使用 Cloudflare CDN 官方下载测速地址(500MB 且可自定义大小,即末尾数字):
CloudflareST.exe -url https://speed.cloudflare.com/__down?bytes=500000000

# 注意:如果下载测速地址为 HTTP 协议,记得加上 -tp 80(这个参数会影响 延迟测速/下载测速 时使用的端口)
CloudflareST.exe -tp 80 -url http://xxx/xxx

# ——————————————————————

# 指定测速条件:

# - 仅指定 [平均延迟上限] 条件

# 平均延迟上限:200 ms,下载速度下限:0 MB/s,数量:10 个( 可选)
# 即找到平均延迟低于 200 ms 的 IP,然后再按延迟从低到高进行 10 次下载测速
CloudflareST.exe -tl 200 -dn 10

# 如果没有一个 IP 平均延迟低于 200ms,那么不会输出任何内容。  


# - 仅指定 [平均延迟上限] 条件,且只延迟测速,不下载测速

# 平均延迟上限:200 ms,下载速度下限:0 MB/s,数量:不知道多少 个
# 即只输出低于 200ms 的 IP,且不再下载测速(因为不再下载测速,所以 -dn 参数就无效了)
CloudflareST.exe -tl 200 -dd


# - 仅指定 [下载速度下限] 条件

# 平均延迟上限:9999 ms,下载速度下限:5 MB/s,数量:10 个( 可选)
# 即需要找到 10 个平均延迟低于 9999 ms 且下载速度高于 5 MB/s 的 IP 才会停止测速
CloudflareST.exe -sl 5 -dn 10

# 没有指定平均延迟上限时,如果一直凑不够满足条件的 IP 数量,就会一直测速下去。    
# 所以建议同时指定 [下载速度下限] 和 [平均延迟上限],这样测速到指定延迟上限还没凑够数量,就会终止测速。


# - 同时指定 [平均延迟上限] + [下载速度下限] 条件

# 平均延迟上限、下载速度下限均支持小数(如 -sl 0.5)
# 平均延迟上限:200 ms,下载速度下限:5.6 MB/s,数量:10 个( 可选)
# 即需要找到 10 个平均延迟低于 200 ms 且下载速度高于 5 .6MB/s 的 IP 才会停止测速
CloudflareST.exe -tl 200 -sl 5.6 -dn 10

# 如果没有一个 IP 平均延迟低于 200ms,那么不会输出任何内容。  
# 如果没有一个 IP 下载速度高于 5.6 MB/s,那么就会和不指定 [下载速度下限] 条件一样输出结果。  
# 所以建议先不指定条件测速一遍,看看平均延迟和下载速度大概在什么范围,避免指定条件过低/过高!

# 因为Cloudflare 公开的 IP 段是回源 IP+任播 IP,而回源 IP是无法使用的,所以下载测速是 0.00。  
# 运行时可以加上 -sl 0.01(下载速度下限),过滤掉回源 IP(下载测速低于 0.01MB/s 的结果)。

# ——————————————————————

# 单独对一个或多个 IP 测速:
# 如果要单独对一个或多个 IP 进行测速,只需要把这些 IP 按如下格式写入到任意文本文件中,例如:1.txt
2.2.2.1
2.2.2.2.200
3.3.3.1/24
# 单个 IP 的话可以省略 /32 子网掩码了(即 2.2.2.1等同于 2.2.2.1/32)。
# 子网掩码 /24 指的是这个 IP 最后一段,即 3.3.3.1~3.3.3.255。

# 然后运行 CloudflareST 时加上启动参数 -f 1.txt 即可。

# 先进入 CloudflareST 所在目录,然后运行:
# Windows 系统(在 CMD 中运行)
CloudflareST.exe -f 1.txt

# Linux 系统
./CloudflareST -f 1.txt

# 对于 1.0.0.1/24 这样的 IP 段只会随机最后一段(3.3.3.1~255),如果要测速该 IP 段中的所有 IP,请加上 -allip 参数。

# ——————————————————————

# 快捷方式示例(右键快捷方式 - 目标)

# 如果要不输出结果文件,那么请加上 -o " ",引号里的是空格(没有空格会导致该参数被省略)。
D:\ABC\CloudflareST\CloudflareST.exe -n 500 -t 4 -dn 20 -dt 5 -o " "

# 如果文件路径包含引号,则需要把启动参数放在引号外面,记得引号和 - 之间有空格。
"D:\Program Files\CloudflareST\CloudflareST.exe" -n 500 -t 4 -dn 20 -dt 5 -o " "

一劳永逸加.速所有使用 Cloudflare CDN 的网站(不需要再一个个添加域名到 Hosts 了)

我以前说过,开发该软件的目的就是为了通过改 Hosts 的方式来加.速访问使用 Cloudflare CDN 的网站。但一个个添加域名到 Hosts 实在太麻烦了,于是我就找到了个一劳永逸的办法!

可以看这个 还在一个个添加 Hosts?完美加.速所有使用 Cloudflare CDN 的网站方法来了!

自动更新 Hosts

考虑到很多人获得最快 Cloudflare CDN IP 后,需要替换 Hosts 文件中的 IP。

可以看这个 Issues 获取 Windows/Linux 自动更新 Hosts 脚本


感谢项目

许可证

多个vip视频解析接口+一键使用方法+解析站源码


 

       QQ图片20170210153840.png

 

更新:下面的解析接口可能失效,更多vip视频解析,请使用我的影视站

http://vip.yiqikanba.cn/

之前看过一贴利用js实现一键使用vip视频解析接口的方法,以为是在福利吧看的,结果找了很久没再到,但js的代码我是保存下来了,昨晚将收集的视频接口整理了一下,弄成个书签,方便使用

链接: https://pan.baidu.com/s/1kV0ocy7 密码: z66q

使用方法: 将vip.html导入你的浏览器书签,然后使用,不会的看图
(接口能不能用自测,我只测了爱奇艺)
1.jpg
2.jpg
3.jpg
另外,如果你用好的接口,可以自己添加到书签方便使用
用浏览器收藏夹的书签,浏览器-收藏夹-添加收藏,名字随便起一个,网址写javascript:window.location = ‘http://api.47ks.com/webcloud/?v=‘+window.location.href
红色部分是解析接口可以自行替换,使用的时候就是在播放页面点一下书签
如果你添加收藏时找不到填网址的地方,就先随便保存一个书签,然后编辑书签
 vip.html书签地址 链接: https://pan.baidu.com/s/1kV0ocy7 密码: z66q

本来就想写到这里,想想还是把自己收藏的源码也发出来吧,有在福吧下载,有朋友分享的

源码的接口请自行更换,有没有广告自测

源码一: 链接: https://pan.baidu.com/s/1i4RgwtR 密码: xkmp

源码二:链接: https://pan.baidu.com/s/1pKTBT3P 密码: bivg

 源码三:链接: https://pan.baidu.com/s/1eRWCf6q 密码: k939
 源码四:链接: https://pan.baidu.com/s/1kVRYzND 密码: bucp
 源码五:链接: https://pan.baidu.com/s/1slsAsWX 密码: zn7f

我的解析网站:http://vip.or2.xyz/

正文到此结束

免费看netfix电影网站:

免费看netfix电影网站:

直接google搜索网站名字即可)

1.FMOVIES: https://fmovies.to/

2.4K电影网:http://www.4k6.net/

3.YaNETFLIX: https://yanetflix.com/

4.MAGEDN影院:https://loli.magedn.com/

5.唐人街影院:https://ouleyingyuan.tangrenjie.tv/vo…

6.独播库:https://duboku.su/

7.真不卡影院:http://www.zhenbuka.fun/

8.片库:https://m.pianku.li/

9.555电影网:https://www.o8tv.com/

10.欧华影院:https://ouhua.tv/

11.多多电影网:https://dd520.cc/

12.爱尚影视:http://www.ouhvod.com/

VPS常用脚本

常用脚本

服务器解锁Netflix检测

一键脚本检测你的vps是否解锁Netflix

服务测试脚本

购买vps必备的几个测试脚本,都是一键脚本

Cloudflare反代加速

垃圾vps能有一定提速效果可以一试

基于Xray的七合一版本

支持vless、vmess、Trojan、Trojan-go

iperf测速软件的使用

大佬们都在用的vps直连测速软件

V贰rayvless一键脚本

最新协议,下一代科学上网终极协议

V贰ray一键脚本

小白特别适用的V贰ray搭建脚本

iptablesUtils中转脚本

自己在用的推荐的中转脚本,支持IP中转和ddns中转

trojan-go源码

一直在维护的版本,推荐使用

Linux一键虚拟内存

Linux VPS一键添加/删除Swap

trojan一键版

trojan多用户管理部署程序,一键脚本

v2-uitu面板

一个全新的多协议多用户v2ray面板

一键网页版speedtest测速搭建

使用 Docker 一键安装 HTML5 Speedtest

GCP实例的密码与root用户登陆

让gcp能通过shell工具登陆

Frps服务端一键配置脚本

可以让你在外也能控制家中电脑

流媒体实时翻译插件

可以实时翻译Netflix等在线流媒体

机场节点批量测速

一键批量节点测速

利用Cloudflare屏蔽大陆IP访问

无需代码就能指定封某国家或地区IP

服务器常用脚本工具包

小白必备,主流科学上网以及服务器优化的各种脚本合辑

Docker常用命令

常用的docker命令

Cloudflare WARP 一键配置脚本

一键解决Netflix解锁问题

ehco一键脚本

一个中转一键脚本

软路由

N1和HK1精简版固件

云编译自动最新编译固件

N1新版固件53+o安装与在线升级

最新版的是否需要一直插着U盘呢?

s905x3刷机代码

性价比超过N1的电视盒子

N1盒子固件编译

从环境搭建,到固件本地编译云编译,再到打包

红米ac2100刷机工具包

除了刷机包,还有文字教程,视频教程看我的YouTube

N1盒子固件

包括刷机文件,以及最新固件

软路由搭建教程

最便宜的软路由搭建方案

armbian+openwrt手动升级内核

自己手动升级,无需刷机

/164.html

openwrt项目仓库

YouTube 详细统计信息详解

Video ID / sCPN :每个视频独特的、独有的ID / 用于识别问题的字符串(开发人员适用)

Viewport / Frames:当前播放窗口的分辨率 / 视频帧数的变化情况(由于主机性能的原因导致的丢帧数)

Current / Optimal Res:视频的解析度 / 最佳解析度

Volume / Normalized:当前音量百分比 / 实际输出音量百分比(与YouTube标准音量的响度差距)

Codecs:视频类型 / 格式

Color:视频色域

Host:为您推播流媒体的YouTube服务器主机名

Connection Speed:视频的加载速度,也就是大家常参考的数字,这个数字并不是很准确,由于YouTube使用的是小数据包、高频发送次数的调度方案,所以在延迟服务器上这个数字会很大。高延迟速率的链接速率是明显偏小的。(状态条为蓝色,加载无压力)

Network Activity:网络连接速度(状态条为蓝色,连接无压力。已经缓存完全后,为黑色)

Buffer Health:已缓存的视频时长(假如断开网络,我们还能观看的时长)

Mystery Text:字母“ s”后的数字代表播放器的状态代码(例如:s:4 –> video paused)

Kbps(千比特每秒)又称千比特率,指的是数字信号的传输速率,也就是每秒钟传送多少个千位的信息(k表示千,kb表示的是多少千个位),也可以表示网络的传输速度。为了在直观上显得网络的传输速度较快,一般公司都使用kb(千位)来表示。如果是大写B的kBps,则表示每秒传送多少千字节。1kByte/s=8kbit/s(一般简写为1kB/s=8kb/s)。

实际网速计算公式:Connection Speed÷(1024*8)=实际速度 MB/s

例如说明:
30000÷(1024*8)=3.662109375 大约就是 3.6MB/s
说明此时你连接VPN后的速度大约在3.6MB/s左右。

  • Mbps —-> Milionbit pro second(百万位每秒)
  • Kbps —-> Kilobit pro second(千位每秒)
  • bps —-> bit pro second(位每秒)
  • bit —-> 通常用 b 表示
  • MB —-> 百万字节(兆字节)
  • KB —-> 千字节
  • B —-> 字节
  • 1 Mbps = 1000 Kbps
  • 1 Kbps = 1000 bps
  • 1 MB = 1024 KB
  • 1 KB = 1024 B
  • 1 B = 8 b —-> B表示字节、b表示位每秒
  • 例如:

    70000 Kbps = (70000 * 1000) bps = 70000000 bps

    70000000 bps = (70000000 / 8) B = 8750000 B

    8750000 B = (8750000 / 1024) KB = 8545 KB

    8545 KB = 8.345 MB

    也就是说,70000 Kbps 约等于 8.345 MB