提交 8e2c8755 编写于 作者: W wizardforcel

2019-11-20 18:31:45

上级 621b4e5c
......@@ -30,14 +30,14 @@ sudo apt-get install python-kde4
QT 设计器
选择主窗口,然后按创建。 现在,我们打开了设计器窗口。 在窗口上拖动 _KWebView_ 组件。 如果组件列表中有 _QtWebView_ 。 用它代替。 我们还在顶部添加 _Line Edit_ 。 按文件>另存为> browser.ui。 运行命令:
选择主窗口,然后按创建。 现在,我们打开了设计器窗口。 在窗口上拖动`KWebView`组件。 如果组件列表中有`QtWebView`。 用它代替。 我们还在顶部添加`Line`Edit`。 按“文件 > 另存为 > `browser.ui`”。 运行命令:
```py
pyuic4 browser.ui > browser.py
```
这将生成一个 Python 文件。 从 browser.py 文件底部删除“ from kwebview import KWebView”行。 将 KWebView 更改为 QtWebView。 我们想改用 QtWebView。 如果您不愿意进行更改,请从下面获取 browser.py 文件。
这将生成一个 Python 文件。 从`browser.py`文件底部删除`from kwebview import KWebView`行。 将`KWebView`更改为`QtWebView`。 我们想改用`QtWebView`。 如果您不愿意进行更改,请从下面获取`browser.py`文件。
## `QWebView`探索
......@@ -73,7 +73,7 @@ sys.exit(app.exec_())
```
这段代码将使用 browser.py 中定义的 UI 并向其中添加逻辑。 线
这段代码将使用`browser.py`中定义的 UI 并向其中添加逻辑。
```py
self.ui.lineEdit.returnPressed.connect(self.loadURL)
......@@ -86,14 +86,14 @@ self.show()
```
第一行定义了回调或事件。 如果有人按下 Enter 键(returnPressed),它将调用函数 loadURL。 确保一旦按下 Enter 键,页面就会加载该功能。 如果您正确执行了所有操作,则应该能够使用以下命令运行浏览器:
第一行定义了回调或事件。 如果有人按下`Enter`键(`returnPressed`),它将调用函数`loadURL`。 确保一旦按下`Enter`键,页面就会加载该功能。 如果您正确执行了所有操作,则应该能够使用以下命令运行浏览器:
```py
python run.py
```
请确保输入完整的网址,例如[http://pythonspot.com](https://pythonspot.com) 包括 http://部分。 您的浏览器现在应该启动:
请确保输入完整的网址,例如:[http://pythonspot.com](https://pythonspot.com) 包括 `http://`部分。 您的浏览器现在应该启动:
![Python browser](img/287d5ac2bd36de412e26bc9ed4a3f4c9.jpg)
......
......@@ -6,7 +6,7 @@
基于 gmail 的词云
我们创建了一个 python 程序,该程序**根据您的 gmail** 帐户生成一个 wordcloud。 输出内容可能看起来像这样,具体取决于您电子邮件的内容。
我们创建了一个 python 程序,该程序**根据您的 gmail** 帐户生成一个词云。 输出内容可能看起来像这样,具体取决于您电子邮件的内容。
首先,您将需要一个与 gmail 服务进行交互的小脚本。 我们创建了一个与 gmail 交互的小脚本。 它依赖于已安装的 [gmaillib](https://github.com/thedjpetersen/gmaillib) ,您需要进行以下设置:允许“不太安全”的应用程序访问 gmail 服务器: [https://www.google.com/settings/security/lesssecureapps](https://www.google.com/settings/security/lesssecureapps)
......@@ -36,7 +36,7 @@ print(cnt)
```
如果此脚本成功运行,则说明您已安装了几乎所有要求。 您还将需要名为 [wordcloud](https://github.com/amueller/word_cloud) 的库。 我们重建系统,以便得到一个包含消息主体的长字符串,并将其作为输入输入到 wordcloud 实例中。 可变数量包含要提取的邮件数。 我们已将其设置为 100,但您可以使用 get_inbox_count()将其设置为所有邮件,也可以仅提取上周的所有电子邮件。
如果此脚本成功运行,则说明您已安装了几乎所有要求。 您还将需要名为[`wordcloud`](https://github.com/amueller/word_cloud)的库。 我们重建系统,以便得到一个包含消息主体的长字符串,并将其作为输入输入到`wordcloud`实例中。 可变数量包含要提取的邮件数。 我们已将其设置为 100,但您可以使用`get_inbox_count()`将其设置为所有邮件,也可以仅提取上周的所有电子邮件。
## 最终程序:
......
......@@ -15,7 +15,7 @@ pip install Django==1.7.1
```
安装后,为您的应用程序创建目录/ django-hello /。 在此目录中,创建具有以下内容的文件 hello.py
安装后,为您的应用程序创建目录`/django-hello/`。 在此目录中,创建具有以下内容的文件`hello.py`
```py
#!/usr/bin/env python
......@@ -68,7 +68,7 @@ from django.core.management import execute_from_command_line
```
如果打开链接/ hello /,则网络服务器将调用 index()函数。 我们使用以下方式将网址映射到函数:
如果打开链接`/hello/`,则网络服务器将调用`index()`函数。 我们使用以下方式将网址映射到函数:
```py
urlpatterns = patterns('',
......@@ -77,4 +77,4 @@ urlpatterns = patterns('',
```
在 Django 中,我们提供了网址友好的网址。 这意味着您没有以/ id = 1359835 结尾的 url,而是使用目录作为名称。 最后,我们使用 settings.configure 设置一些默认设置。
\ No newline at end of file
在 Django 中,我们提供了网址友好的网址。 这意味着您没有以`/id=1359835`结尾的 url,而是使用目录作为名称。 最后,我们使用`settings.configure`设置一些默认设置。
\ No newline at end of file
......@@ -6,11 +6,11 @@
如果要开始 python Web 开发,可以使用一个名为 Django 的 Web 框架。它被设计为快速,安全和可扩展的。 它带有一个对象关系映射器(ORM),这意味着 Python 中的对象被映射到数据库中的对象。
用 Django 创建的应用程序分为三个独立的层:模型(数据库),视图(外观)和控制器(逻辑),或者简称为模型-视图-控制器(MVC)体系结构。
用 Django 创建的应用程序分为三个独立的层:模型(数据库),视图(外观)和控制器(逻辑),或者简称为模型-视图-控制器(MVC)构。
## 设置 Django
Start with:
首先:
```py
django-admin startproject mysite
......@@ -29,7 +29,7 @@ django-admin startproject mysite
```
sqlite3,postgresql_psycopg2,mysql 或 oracle 中选择。 名称是您的数据库的名称。 如果您使用 SQLite,则会自动创建数据库。 对于 MySQL 和 Postgresql,您需要自己创建数据库。 将一个目录转到/ mysite /并运行:
`sqlite3``postgresql_psycopg2``mysql``oracle`中选择。 名称是您的数据库的名称。 如果您使用 SQLite,则会自动创建数据库。 对于 MySQL 和 Postgresql,您需要自己创建数据库。 将一个目录转到`/mysite/`并运行:
```py
1
......@@ -70,7 +70,7 @@ python manage.py startapp notes
```
This creates the files:
这创建文件:
```py
notes/
......@@ -97,7 +97,7 @@ notes/
```
打开/mysite/mysite/settings.py,添加 Web 应用程序:
打开`/mysite/mysite/settings.py`,添加 Web 应用程序:
```py
1
......@@ -112,7 +112,7 @@ notes/
```
运行:
```py
python manage.py syncdb
......@@ -136,7 +136,7 @@ python manage.py syncdb
```
运行
```py
1
......@@ -151,13 +151,13 @@ manage.py runserver
```
一旦打开管理面板 [http://127.0.0.1:8000/admin](http://127.0.0.1:8000/admin)便笺将出现在页面上:
一旦打开管理面板 [http://127.0.0.1:8000/admin](http://127.0.0.1:8000/admin)笔记将出现在页面上:
![django_admin](img/e6109601b6daf8134d2007b85d72e77a.jpg)
Django admin panel
Django 管理面板
如果单击便笺,则可以查看所有便笺并添加/删除它们:
如果单击笔记,则可以查看所有笔记并添加/删除它们:
![django_database](img/48b89f4abcd4c9c1aa2472cd3bc509c1.jpg)
......@@ -239,7 +239,7 @@ Django 数据库管理菜单。
```
启动浏览器后,您将看到便签列表:
启动浏览器后,您将看到笔记列表:
![django app](img/23cf03d0a6badbf9bead1760c2dc3aad.jpg)
......@@ -308,7 +308,7 @@ django 应用
![django_app_insert](img/dfeb48b2ab36e759c1a0397c54d6b925.jpg)
Djano note taking app
Djano 记笔记的应用
## 为应用添加样式
......
......@@ -19,11 +19,11 @@
Tk 中的一个消息框。 用 Tk 制作的 GUI 没有本机外观。
_**QT4 和 QT5** _ 由 Qt 公司开发。 使用 QT4 或 QT5 制作的图形应用程序可在 Windows,Linux / X11 和 Mac OS X 上运行。它具有大量的小部件,包括选项卡,按钮,项目视图,表视图,进度条,输入字段,日历视图等等。 与 Tk 相比,它有更多可用的小部件。
**QT4 和 QT5** 由 Qt 公司开发。 使用 QT4 或 QT5 制作的图形应用程序可在 Windows,Linux / X11 和 Mac OS X 上运行。它具有大量的小部件,包括选项卡,按钮,项目视图,表视图,进度条,输入字段,日历视图等等。 与 Tk 相比,它有更多可用的小部件。
![Graphical application using PyQt5](img/4c1c799e1aa4d7f3a9c4b9104ff0efe2.jpg)
_**WxPython** _ 是一个模块,可创建本机 GUI 外观,而与所使用的操作系统无关。 在 Windows 上将其视为 Windows 应用程序,而在 Mac OS 上将其视为 Mac 应用程序。 与 QT4 或 Tk 相比,这可能是一个明显的优势,具体取决于您的用途。 WxWidgets 有许多可用的小部件,例如按钮,菜单,文本,还有更高级的小部件,如 htmlview 或树控件。
**WxPython** 是一个模块,可创建本机 GUI 外观,而与所使用的操作系统无关。 在 Windows 上将其视为 Windows 应用程序,而在 Mac OS 上将其视为 Mac 应用程序。 与 QT4 或 Tk 相比,这可能是一个明显的优势,具体取决于您的用途。 WxWidgets 有许多可用的小部件,例如按钮,菜单,文本,还有更高级的小部件,如`htmlview`或树控件。
![wxTabs](img/5a58343f3bd5e027d97e90721b1c4a53.jpg)
......
......@@ -25,13 +25,13 @@ PyQt 被广泛用于开发可在各种操作系统上运行的图形界面。
* [QT4 进度栏](https://pythonspot.com/qt4-progressbar/)
* [QT4 像素图(图像)](https://pythonspot.com/qt4-pixmaps-images/)
* [QT4 打开文件对话框](https://pythonspot.com/qt4-file-dialog/)
* [QT4:构建应用程序(初学者教程)](https://pythonspot.com/building-an-application-gui-with-pyqt-beginners-tutorial/ "Building an application GUI with PyQT, beginners tutorial")
* [QT4:使用设计器创建 GUI(专业教程)](https://pythonspot.com/qml-and-pyqt-creating-a-gui-tutorial/ "QML and PyQT: Creating a GUI (tutorial)")
* [QT4:构建应用程序(初学者教程)](https://pythonspot.com/building-an-application-gui-with-pyqt-beginners-tutorial/)
* [QT4:使用设计器创建 GUI(专业教程)](https://pythonspot.com/qml-and-pyqt-creating-a-gui-tutorial/)
## 真实示例
使用 PyQt 的程序示例
* 投寄箱
* 忍者 IDE
* 维斯
\ No newline at end of file
* Dropbox
* Ninja IDE
* Veusz
\ No newline at end of file
......@@ -2,11 +2,11 @@
> 原文: [https://pythonspot.com/tkinter/](https://pythonspot.com/tkinter/)
标准 [**GUI(图形用户界面)包**](https://pythonspot.com/gui/) 被称为 Tkinter。 默认情况下,它包含在 Microsoft Windows 和 Mac OS X 安装的 Python 中。
标准 [**GUI(图形用户界面)包**](https://pythonspot.com/gui/)被称为 Tkinter。 默认情况下,它包含在 Microsoft Windows 和 Mac OS X 安装的 Python 中。
它有时被称为“ Python 世界的次要传统之一”。 Tkinter 绝不是唯一的 GUI 软件包,通常使用替代的 GUI 软件包,例如 PyQT 和 wxPython。
它有时被称为“Python 世界的次要传统之一”。 Tkinter 绝不是唯一的 GUI 软件包,通常使用替代的 GUI 软件包,例如 PyQT 和 wxPython。
与 PyQT 和 wxPython 相比,Tkinter 仅具有 _ 少量的小部件 _,例如按钮,标签,检查按钮,单选按钮,列表框,滚动框,进度栏等。
与 PyQT 和 wxPython 相比,Tkinter 仅具有少量的小部件,例如按钮,标签,检查按钮,单选按钮,列表框,滚动框,进度栏等。
![tk question](img/b968cc0aef66f5044316ef16f602586b.jpg)
......@@ -36,4 +36,4 @@ Tkinter 视频课程:
* [带有 Tkinter 的 Python 桌面应用](https://gum.co/ErLc)
**注意**:在 Python 3.x 中,该程序包名为 tkinter。 为 Python 2.x 编写的程序可能正在导入 Tkinter。
\ No newline at end of file
**注意**:在 Python 3.x 中,该程序包名为`tkinter`。 为 Python 2.x 编写的程序可能正在导入 Tkinter。
\ No newline at end of file
......@@ -2,11 +2,11 @@
> 原文: [https://pythonspot.com/python-network-sockets-programming-tutorial/](https://pythonspot.com/python-network-sockets-programming-tutorial/)
在本教程中,您将学习 [**网络编程**](https://pythonspot.com/en/network/)您将了解用于万维网,电子邮件和许多其他应用程序的客户端-服务器模型。
在本教程中,您将学习[**网络编程**](https://pythonspot.com/en/network/)您将了解用于万维网,电子邮件和许多其他应用程序的客户端-服务器模型。
![client server](img/7ebef81ff83b49c4f531247f8fb26cc7.jpg)
客户端服务器(带有电子邮件协议)_ 客户端服务器模型是一个模型,其中有 n 个客户端和一个服务器。 客户端向服务器发出数据请求。 服务器回复收到的那些消息。 客户端可以是任何设备,例如您的计算机或平板电脑。 服务器通常是要 24/7_ 连接的专用计算机。
客户端服务器(带有电子邮件协议)客户端服务器模型是一个模型,其中有 n 个客户端和一个服务器。 客户端向服务器发出数据请求。 服务器回复收到的那些消息。 客户端可以是任何设备,例如您的计算机或平板电脑。 服务器通常是要 24/7 连接的专用计算机。
### 套接字服务器代码
......
......@@ -2,9 +2,9 @@
> 原文: [https://pythonspot.com/requests-http-for-humans/](https://pythonspot.com/requests-http-for-humans/)
如果要从 Web 服务器请求数据,则在 Python 中执行此操作的传统方法是使用 _urllib_ 库。 尽管此库有效,但您可以轻松地构建比构建某些东西所需的复杂性。 还有另一种方法吗?
如果要从 Web 服务器请求数据,则在 Python 中执行此操作的传统方法是使用`urllib`库。 尽管此库有效,但您可以轻松地构建比构建某些东西所需的复杂性。 还有另一种方法吗?
[请求](https://github.com/kennethreitz/requests)是用 Python 编写的 Apache2 许可 HTTP 库。 它由 httplib 和 [urllib3](https://github.com/shazow/urllib3) 支持,但为您完成了所有艰苦的工作。
[Requests](https://github.com/kennethreitz/requests) 是用 Python 编写的 Apache2 许可 HTTP 库。 它由`httplib`[`urllib3`](https://github.com/shazow/urllib3)支持,但为您完成了所有艰苦的工作。
要安装类型:
......@@ -15,7 +15,7 @@ sudo python setup.py install
```
现在已安装请求库。 我们将在下面列出一些示例:
现在已安装 Requests 库。 我们将在下面列出一些示例:
## 使用 HTTP / HTTPS 请求获取原始 html
......@@ -61,7 +61,7 @@ print r.status_code
```
这将返回 200(确定)。 可以在此处找到状态代码列表: [https://en.wikipedia.org/wiki/List_of_HTTP_status_codes](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes)
这将返回 200(确定)。 可以在此处找到状态代码列表:[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes)
## 从 Web 服务器检索 JSON
......@@ -89,7 +89,7 @@ print(r.text)
```
**SSL 验证,使用 Python** 验证证书
**SSL 验证**,使用 Python 验证证书
```py
from StringIO import StringIO
......@@ -110,7 +110,7 @@ print r.headers
```
这将以 JSON 格式返回数据。 我们可以将以 JSON 格式编码的数据解析为 Python dict
这将以 JSON 格式返回数据。 我们可以将以 JSON 格式编码的数据解析为 Python 字典
```py
#!/usr/bin/env python
......@@ -131,7 +131,7 @@ print headerObj['x-powered-by']
## 从 HTML 响应中提取数据
从服务器获取数据后,您可以使用 python 字符串函数或使用库来对其进行解析。 经常使用 BeautifulSoup。 获取页面标题和链接的示例代码:
从服务器获取数据后,您可以使用 python 字符串函数或使用库来对其进行解析。 经常使用`BeautifulSoup`。 获取页面标题和链接的示例代码:
```py
from bs4 import BeautifulSoup
......
......@@ -2,7 +2,7 @@
> 原文: [https://pythonspot.com/http-download-file-with-python/](https://pythonspot.com/http-download-file-with-python/)
可以使用 _urllib2_ 模块从 Web 下载数据(网络资源访问)。 这些数据可以是文件,网站,也可以是您想要 Python 下载的任何数据。 该模块支持 HTTP,HTTPS,FTP 和其他几种协议。
可以使用`urllib2`模块从 Web 下载数据(网络资源访问)。 这些数据可以是文件,网站,也可以是您想要 Python 下载的任何数据。 该模块支持 HTTP,HTTPS,FTP 和其他几种协议。
在本文中,您将学习如何使用 Python 从 Web 下载数据。
......@@ -18,7 +18,7 @@ print(data)
```
我们使用 urllib2.urlopen()方法获得响应对象,其中参数是链接。 使用 response.read()方法调用接收所有文件内容。 调用此命令后,我们将文件数据存储在字符串类型的 Python 变量中。
我们使用`urllib2.urlopen()`方法获得响应对象,其中参数是链接。 使用`response.read()`方法调用接收所有文件内容。 调用此命令后,我们将文件数据存储在字符串类型的 Python 变量中。
## 下载 HTML
......@@ -71,4 +71,4 @@ file_.close()
```
“ w”参数创建文件(如果存在,则覆盖)。 您可以[在此处阅读有关写入文件的更多信息。](https://pythonspot.com/write-file/)
\ No newline at end of file
`"w"`参数创建文件(如果存在,则覆盖)。 您可以[在此处阅读有关写入文件的更多信息](https://pythonspot.com/write-file/)
\ No newline at end of file
......@@ -6,7 +6,7 @@
## Beautiful Soup:用于解析 HTML 和 XML 的 python 包
该库非常流行,甚至可以处理格式错误的标记。 要获取单个 div 的内容,可以使用以下代码:
该库非常流行,甚至可以处理格式错误的标记。 要获取单个`div`的内容,可以使用以下代码:
```py
from BeautifulSoup import BeautifulSoup
......@@ -21,7 +21,7 @@ print parsed_html.body.find('div', attrs={'class':'toc'})
```
这将输出 Wikipedia 文章中称为“ toc”(目录)的 div 中的 HTML 代码。 如果只希望使用原始文本,请使用:
这将输出 Wikipedia 文章中称为“toc”(目录)的`div`中的 HTML 代码。 如果只希望使用原始文本,请使用:
```py
print parsed_html.body.find('div', attrs={'class':'toc'}).text
......@@ -69,7 +69,7 @@ for link in links:
## PyQuery:一个类似 jquery 的 Python 库
要从标记中提取数据,我们可以使用 PyQuery。 它可以根据您的需要获取实际的文本内容和 html 内容。 要获取标签,请使用调用 pq('tag')
要从标记中提取数据,我们可以使用 PyQuery。 它可以根据您的需要获取实际的文本内容和 html 内容。 要获取标签,请使用调用`pq('tag')`
```py
from pyquery import PyQuery
......@@ -95,9 +95,9 @@ tag = pq('title')
```
## HTMLParser:简单的 HTML 和 XHTML 解析器
## `HTMLParser`:简单的 HTML 和 XHTML 解析器
该库的用法非常不同。 使用此库,您必须将所有逻辑都放在 WebParser 类中。 用法的基本示例如下:
该库的用法非常不同。 使用此库,您必须将所有逻辑都放在`WebParser`类中。 用法的基本示例如下:
```py
from HTMLParser import HTMLParser
......
......@@ -2,7 +2,7 @@
> 原文: [https://pythonspot.com/ftp-client-in-python/](https://pythonspot.com/ftp-client-in-python/)
本文将从客户端的角度向您展示如何在 Python 中使用 _ 文件传输协议 _(FTP)。 我们使用 ftplib,这是一个实现 FTP 协议的库。 使用 FTP,我们可以通过函数调用创建和访问远程文件。
本文将从客户端的角度向您展示如何在 Python 中使用文件传输协议(FTP)。 我们使用`ftplib`,这是一个实现 FTP 协议的库。 使用 FTP,我们可以通过函数调用创建和访问远程文件。
## 目录列表
......@@ -25,7 +25,7 @@ for line in data:
```
这将输出目录内容。 以简单的控制台样式输出。 如果要显示特定目录,则必须在连接 **ftp.cwd(‘/’)**函数后更改目录,其中参数是您要更改的目录。
这将输出目录内容。 以简单的控制台样式输出。 如果要显示特定目录,则必须在连接`ftp.cwd('/')`函数后更改目录,其中参数是您要更改的目录。
```py
import ftplib
......@@ -47,7 +47,7 @@ for line in data:
## 下载文件
要下载文件,我们使用 **retrbinary()**函数。 下面的例子:
要下载文件,我们使用`retrbinary()`函数。 下面的例子:
```py
import ftplib
......@@ -71,7 +71,7 @@ ftp.quit()
## 上传文件
我们可以使用 **storlines()**命令上传文件。 这将在主目录中上载文件 README.nluug。 如果要在另一个目录中上传,请与 **cwd()**函数结合使用。
我们可以使用`storlines()`命令上传文件。 这将在主目录中上传文件`README.nluug`。 如果要在另一个目录中上传,请与`cwd()`函数结合使用。
```py
import ftplib
......@@ -91,6 +91,6 @@ upload(ftp, "README.nluug")
```
## 其他功能
## 其他函数
有关其他功能,请参考[官方库文档](https://docs.python.org/3/library/ftplib.html#)
\ No newline at end of file
有关其他函数,请参考[官方库文档](https://docs.python.org/3/library/ftplib.html#)
\ No newline at end of file
......@@ -2,13 +2,13 @@
> 原文: [https://pythonspot.com/building-an-irc-bot/](https://pythonspot.com/building-an-irc-bot/)
那里[IRC(Internet 中继聊天)](https://en.wikipedia.org/wiki/Internet_Relay_Chat)的大量(ro)机器人。 那么,如何仅仅为了好玩而开始在 Python 中构建和构建一个?
[IRC(Internet 中继聊天)](https://en.wikipedia.org/wiki/Internet_Relay_Chat)的大量(ro)机器人。 那么,如何仅仅为了好玩而开始在 Python 中构建和构建一个?
您将需要一个与 IRC 服务器连接并像传统 IRC 客户端一样运行的程序。 IRC 服务器从不要求进行任何复杂的人工验证,例如解决验证码,这就是为什么我们可以简单地使用脚本进行连接的原因。 该脚本本身将使用网络 _ 套接字,_ 一个库,该库通常用于以多种编程语言(包括 Python 和 C / C ++)提供网络交互。
您将需要一个与 IRC 服务器连接并像传统 IRC 客户端一样运行的程序。IRC 服务器从不要求进行任何复杂的人工验证,例如解决验证码,这就是为什么我们可以简单地使用脚本进行连接的原因。该脚本本身将使用网络套接字,一个库,该库通常用于以多种编程语言(包括 Python 和 C / C++)提供网络交互。
## IRC 和 Python
要与 IRC 服务器通信,您需要使用 IRC 协议。 IRC 协议具有不同的消息,例如 PRIVMSG,USER,NICK 和 JOIN。 如果您好奇,可以阅读[整个协议](http://www.irc.org/tech_docs/rfc1459.html)。 但是遵循本教程可能会更简单;仅需执行几个步骤即可完成身份验证:
要与 IRC 服务器通信,您需要使用 IRC 协议。 IRC 协议具有不同的消息,例如 PRIVMSG,USER,NICK 和 JOIN。 如果您好奇,可以阅读[整个协议](http://www.irc.org/tech_docs/rfc1459.html)。 但是遵循本教程可能会更简单;仅需执行几个步骤即可完成身份验证:
IRC 协议是 IP 协议之上的一层。 要创建套接字,请使用以下命令:
......@@ -17,7 +17,7 @@ irc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
```
socket.AF_INET 通知库使用网络协议 [IPv4。](https://en.wikipedia.org/wiki/IPv4 "IPv4") 第二个参数告诉库使用流套接字,该套接字通常在 TCP 协议上实现。 (IRC 通过 TCP / IP 进行工作)。 然后,我们必须使用以下命令对服务器进行身份验证:
`socket.AF_INET`通知库使用网络协议 [IPv4](https://en.wikipedia.org/wiki/IPv4)。第二个参数告诉库使用流套接字,该套接字通常在 TCP 协议上实现。(IRC 通过 TCP/IP 进行工作)。 然后,我们必须使用以下命令对服务器进行身份验证:
```py
1
......@@ -26,7 +26,7 @@ socket.AF_INET 通知库使用网络协议 [IPv4。](https://en.wikipedia.org/wi
```
有时 IDENT 命令也是必要的。 总结一下,我们得到了这个类(另存为 irc.py):
有时`IDENT`命令也是必要的。 总结一下,我们得到了这个类(另存为`irc.py`):
```py
import socket
......@@ -60,7 +60,7 @@ class IRC:
```
现在我们有了网络连接类,我们可以将其用作实例。 为了说明的目的,我们将使我们的(机器人)机器人保持简单。 如果漫游器在其驻留的通道中收到消息“ hello”,则它将回复“ Hello!”
现在我们有了网络连接类,我们可以将其用作实例。 为了说明的目的,我们将使我们的(机器人)机器人保持简单。 如果漫游器在其驻留的通道中收到消息`"hello"`,则它将回复`"Hello!"`
```py
from irc import *
......@@ -83,4 +83,4 @@ while 1:
```
将其另存为 bot.py 并使用 _python bot.py_ 运行。 与传统的 irc 客户端(mirc,hexchat,irsii)连接到该频道,并观察实验是否成功! 现在,您可以使用可以想象的任何出色功能对其进行扩展。
\ No newline at end of file
将其另存为`bot.py`并使用`python bot.py`运行。使用传统的 irc 客户端(mirc,hexchat,irsii)连接到该频道,并观察实验是否成功! 现在,您可以使用可以想象的任何出色功能对其进行扩展。
\ No newline at end of file
......@@ -2,7 +2,7 @@
> 原文: [https://pythonspot.com/read-email-pop3/](https://pythonspot.com/read-email-pop3/)
在本教程中,您将学习如何使用 **poplib** 模块来**接收电子邮件**。 邮件服务器需要支持 **pop3** ,但是大多数邮件服务器都支持。 邮局协议(POP3)仅用于接收邮件,发送时需要 SMTP 协议。
在本教程中,您将学习如何使用`poplib`模块来**接收电子邮件**。 邮件服务器需要支持 **pop3**,但是大多数邮件服务器都支持。邮局协议(POP3)仅用于接收邮件,发送时需要 SMTP 协议。
![pop3-email-server](img/b7a7593691fc70c549881f1570ecc3b1.jpg)
......
# 从网页中提取链接(BeautifulSoup
# 从网页中提取链接(`BeautifulSoup`
> 原文: [https://pythonspot.com/extract-links-from-webpage-beautifulsoup/](https://pythonspot.com/extract-links-from-webpage-beautifulsoup/)
Web 抓取是从网站提取数据的技术。
模块 **BeautifulSoup** 设计用于 [**网页**](https://pythonspot.com/web-dev) 抓取。 BeautifulSoup 模块可以处理 HTML 和 XML。 它提供了用于搜索,导航和修改分析树的简单方法。
模块`BeautifulSoup`设计用于[**网页**](https://pythonspot.com/web-dev)抓取。`BeautifulSoup`模块可以处理 HTML 和 XML。 它提供了用于搜索,导航和修改分析树的简单方法。
## 从网站获取链接
......@@ -31,7 +31,7 @@ html_page = urllib2.urlopen("https://arstechnica.com")
```
创建了 BeautifulSoup 对象,我们使用该对象查找所有链接:
创建了`BeautifulSoup`对象,我们使用该对象查找所有链接:
```py
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册