Python算法面试题
Python算法面试题常见的几种排序算法
1234#python快速排序def sortArray(self, nums): if len(nums) <= 1: return nums
选择排序1234#python快速排序def sortArray(self, nums): if len(nums) <= 1: return nums
冒泡排序1234#python快速排序def sortArray(self, nums): if len(nums) <= 1: return nums
插入排序1234#python快速排序def sortArray(self, nums): if len(nums) <= 1: return nums
选择排序1234#python快速排序def sortArray(self, nums): if len(nums) <= 1: return nums
希尔排序1234#python快速排序def sortArray( ...
资讯爬虫设计
区块链资讯数据爬虫规划
使用python下的Scrapy框架,实现对现有区块链资讯网站(巴比特)新闻快讯、交易所网站实时价格等数据爬取后进行本地文件格式保存。
通过mongodb数据库实现文件储存(相比Redis,mongodb可以进行表关联的查询,且适合大数据文件存储)
配置scrapy-redis搭建分布式爬虫,对数据进行并行的爬取。
hadoop框架 (脏数据清洗 打标签)
爬虫系统功能实现1.爬虫功能:
爬取策略的设计 服务端对网页链接的爬取,区分目录页和内容详情的数据爬取。
内容数据字段的设计
在数据抓取程序中定义抓取网页的规则和使用Xpath提取字段数据的方法等,在Xpath中有其中类型的几点:元素、属性、文本、命名空间、处理指令、注释和文档节点。
增量爬取
请求去重去重与增量爬取,能够减少服务器的压力以及保证数据的准确性。
2.中间件:
爬虫防屏蔽中间件(防止爬虫被屏蔽)
模拟不同的浏览器行为
以一定的频率更换代理服务器和网关
降低爬虫爬取网页的频率
禁用cookie。
人工打码
网页非200状态处理
爬虫下载异常处理
3.数据存储:
抓取字段设计
数 ...
Scrapy入门教程
Scrapy入门教程1.开发准备1.1 python安装1.2 安装python IDE,PyCharm12# 执行jar文件java -jar xxx.jar
1.3 macOS安装Scrapy2.1 Creating a project12345678scrapy startproject tutorial //命令行创建Scrapy项目 tutorialscrapy.cfg: 项目的配置文件tutorial/: 该项目的python模块。之后将在此加入代码。tutorial/items.py: 项目中的item文件tutorial/pipelines.py:项目中的pipelines文件.tutorial/settings.py:项目中的设置文件tutorial/spiders/:放置spider代码的目录
Our first SpiderSpiders是您定义的类,它用于从网站(或一组网站)中提取信息。他们必须是scrapy.Spider的子类。可以选择如何跟踪页面中的链接,以及如何解析下载的 ...
Python简介和基础数据类型
Python简介和基础数据类型Python安装安装:如何在Mac下安装Python3.5
macpython3 brew install python3
linux
windows
Python解释器Python代码是以.py为扩展名的文本文件,需要Python解释器去执行。
CPython 官方版本解释器,C语言开发的,所以叫CPython。
IPython 基于CPython之上的交互式解释器。功能和Cpython完全一样。
PyPy 采用JIT技术,对Python代码进行动态编译,提高Python代码执行速度
Jython 运行在Java平台上的Python解释器,把Python代码编译成java字节码执行。
IronPython 运行在微软.net平台上的python解释器。
数据类型和变量
整数
浮点数
字符串 字符串是以单引号‘’ 或者双引号 “” 括起来的任意文本。 注意转义字符的使用
字符串和编码
字符编码
Unicode标准
utf-8
格式化
Python的字符串最新的Python3版本中,字符串是以Unicode编码的,PYthon的字 ...
mac下的安装如何安装并使用Mongodb
mongodb操作1. mac下的安装
1.Mac OSX 平台安装 MongoDB
2.Mac下安装和配置mongoDB
注意 mac中添加环境变量无效–zsh环境配置
注意 mongodb设置dbpath
2. mongodb和pymongo的使用2.1 MongoDB 教程2.2 PyMongo 3.7.2 Documentation
3. Mongodb For Android
Android 连接MongoDB与基本操作
1.To access your PC localhost from Android emulator, use 10.0.2.2 instead of 127.0.0.1. localhost or 127.0.0.1 refers to the emulated device itself, not the host the emulator is running on.
2.Reference: https://developer.android.com/studio/run/emulator-networking#networkaddr ...
Python自然语言处理
Python自然语言处理
使用自然语言工具包分析文本
前言自然语言处理(Natural Language Processing 简称 NLP)包含所有用计算机对自然语言进行的操作。自然语言工具包(Natural language Toolkit, 简称 NLTK)。NLTK包含大量的软件、数据和文档,可以从https://www.nltk.org/下载。
Python3和NLTK3软件安装需求
Python:
NLTK:
NLTK-Data:
Numpy:
Matplotlib:
http://nlp.stanford.edu/software/
NetworkX:
Prover9:
自然语言工具包
语言处理任务与相应NLTK模块以及功能描述
1.语言处理与Python
1.语言处理与Python 本章中,我们将解决以下几个问题:
将简单的程序和大量的文本结合起来,我们能实现什么?
我们如何能自动提取概括文本风格和内容的关键词和短语?
Python编程语言上为上述工作提供了哪些工具和技术?
自然语言处理中有哪些有趣的挑战?
1. 语言计算:文本和单词1.1 Python入门
安装Python3
1.2 NLTK入门
安装NLTK3.0download from nltk.org
Installing NLTK
Mac/Unix
1.Install NLTK: run12345678910 sudo pip install -U nltk #or sudo pip3 install -U nltk ``` ##### 2.Install Numpy/matplotlib(Optional): run```shell sudo pip install -U numpy //pip3 for python3 sudo pip3 install -U numpy sudo pip ...
2.获得文本语料和词汇资源
2. 获得文本语料和词汇资源本章目的:
什么是有用的文本语料和词汇资源,我们如何用Python获取他们?
哪些Python结构最适合这项工作。
编写Python代码时我们如何避免重复的工作。
1. 获取文本语料库1.1 古腾堡语料库>>> import nltk
>>> nltk.corpus.gutenberg.fileids()
>>> emma = nltk.corpus.gutenberg.words('austen-emma.txt')
>>> len(emma)
>>> emma = nltk.Text(nltk.corpus.gutenberg.words('austen-emma.txt'))
>>> emma.concordance("surprize")
# import方式
>>> from nltk.corpus import gutenberg
>>&g ...
3. 处理原始文本
3. 处理原始文本本章的目的:
我们怎样才能编写程序访问本地和网络上的文件,从而获得无限的语言材料?
我们如何把文档分割成单独的词和标点符号,这样我们就可以开始像前面章节中在文本语料上做的那样的分析。
我们怎样编程程序产生格式化的输出,并把结果保存在一个文件中。
为了解决这些问题,将讲述NLP的关键概念,包括分词和词干提取。在此过程中,将巩固你的Python知识并且了解关于字符串、文件和正则表达式知识。也将看到如何去除HTML标记。
3.1 从网络和硬盘访问文本3.2 字符串:最底层的文本处理3.3 使用Unicode进行文字处理3.4 使用正则表达式检测词组搭配3.6 规范化文本3.7 用正则表达式为文本分词3.8 分割3.9 格式化:从列表到字符串3.10 小结3.11 深入阅读3.12 练习
4.编写结构化程序
4. 编写结构化程序本章目标:
怎么能写出结构良好、可读的程序,你和其他人将能够很容易的重新使用它?
基本结构块,如循环、函数以及赋值,是如何执行的?
Python编程的陷阱有哪些,你怎么能避免他们吗?
4.1 回到基础赋值等式条件4.2 序列序列类型上的操作合并不同类型的序列生成器表达式4.3 风格的问题PYthon代码风格过程风格与声明风格计数器的一些合理用途4.4 函数:结构化编程的基础4.5 更多关于函数4.6 程序开发4.7 算法设计小结
深入阅读
练习