一直想做个能帮我过滤出优质文章和博客的平台给它取了个名叫Moven。。把实现它的过程分成了三个阶段:1.Downloader:对于指定的url的下载并把获得的内容传递给Analyser--这是最简单的开始2.Analyser:对于接受到的内容,用RegularExpression或是XPath或是BeautifulSoup/lxml进行过滤和简化--这部分也不是太难3.SmartCrawler:去抓取优质文章的链接--这部分是最难的:Crawler的话可以
系统 2019-09-27 17:38:09 2216
下面是最简单的实现方法,先将目标网页抓回来,然后通过正则匹配a标签中的href属性来获得超链接代码如下:importurllib2importreurl='http://www.sunbloger.com/'req=urllib2.Request(url)con=urllib2.urlopen(req)doc=con.read()con.close()links=re.findall(r'href\=\"(http\:\/\/[a-zA-Z0-9\.\/]
系统 2019-09-27 17:38:07 2216
Python的环境变量环境变量说明PYTHONSTARTUP在交互式启动时执行的文件(无默认值)PYTHONPATH‘:'-以默认模块搜索路径为前缀的分隔目录列表。结果是sys.path。PYTHONHOME交替的目录(或者:).默认的模块搜索路径为/pythonX.X.PYTHONCASEOK忽略import语句中的大小写(Windows)。PYTHONIOENCODING用于stdin/stdout/stderr中的编码PYTHONHASHSEED如果
系统 2019-09-27 17:56:35 2215
'''将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。'''frompip._vendor.distlib.compatimportraw_inputdeftest1(n):print("%d="%n,end='');whilen>1:foriinrange(2,n+1):ifn%i==0:n=int(n/i)ifn==1:print("%d"%i,end='');else:print("%d*"%i,end='');breakdeft
系统 2019-09-27 17:55:28 2215
本文实例展示了一个脚本python用来转化表配置数据xml并生成相应的解析代码。但是在中文编码上出现了乱码,现将解决方法分享出来供大家参考。具体方法如下:1.Python文件设置编码utf-8(文件前面加上#encoding=utf-8)2.MySQL数据库charset=utf-83.Python连接MySQL是加上参数charset=utf84.设置Python的默认编码为utf-8(sys.setdefaultencoding(utf-8)示例代码如
系统 2019-09-27 17:55:27 2215
我们在做工作中经常会使用到json模块,今天就简单介绍下json模块什么是jsonJSON,全称为JavaScriptObjectNotation,也就是JavaScript对象标记,它通过对象和数组的组合米表示数据,构造简洁但是结构化程度非常高,是一种轻量级的数据交换格式。json模块在python中可以作为数据解析json对象和数组在JavaScript语言中,一切都是对象。任何支持的类型都可以通过JSON来表示,例如字符串、数字、对象、数组等,但是对
系统 2019-09-27 17:55:20 2215
安装pymysqlpipinstallpymysql2|0使用pymysql2|1使用数据查询语句查询一条数据fetchone()frompymysqlimport*conn=connect(host='127.0.0.1',port=3306,user='root',password='123456',database='itcast',charset='utf8')#创建游标c=conn.cursor()#执行sql语句c.execute("selec
系统 2019-09-27 17:55:11 2215
文章目录1.函数的执行流程1.1.字节码了解压栈过程1.2.嵌套函数的压栈2.递归2.1.递归函数2.2.递归的性能2.3.递归的优化2.4.间接递归2.5.递归总结3.匿名函数4.Python生成器4.1.基本结构4.2.使用场景4.3.协程coroutine4.4.yieldfrom1.函数的执行流程函数的执行需要对函数进行压栈,什么是压栈呢,简而言之就是在函数执行时在栈中创建栈帧存放需要的变量以及指针的意思。具体涉及的知识非常多,这里就以一个Pyth
系统 2019-09-27 17:54:56 2215
前面十章爬虫笔记陆陆续续记录了一些简单的Python爬虫知识,用来解决简单的贴吧下载,绩点运算自然不在话下。不过要想批量下载大量的内容,比如知乎的所有的问答,那便显得游刃不有余了点。于是乎,爬虫框架Scrapy就这样出场了!Scrapy=Scrach+Python,Scrach这个单词是抓取的意思,Scrapy的官网地址:点我点我。那么下面来简单的演示一下Scrapy的安装流程。具体流程参照://www.jb51.net/article/48607.htm
系统 2019-09-27 17:54:46 2215
文件内容如下:Alex100000Rain80000Egon50000Yuan30000#此处有一个空行!现在看如何处理并转成列表!salary_info=open("salaryinfo.txt","r+",encoding="UTF-8")salary_info_list=[]forlineinsalary_info.readlines():ifline=='\n':passelse:salary_info_list.append(list(line.
系统 2019-09-27 17:54:35 2215
之前我在windows10系统上面安装python3.7,虽然在windows上面安装简单,操作也方便,但是想要和linux的shell脚本交互就不方便了。因此,我决定在centos7上面也安装上python最新版本在这期间,我踩了很多坑,也填了很多坑,后来几乎要面临崩溃了,期间发生了什么?别着急,耐心往下看!操作环境:CentOS7.464位一般安装步骤1.下载python安装包wgethttps://www.python.org/ftp/python/
系统 2019-09-27 17:53:50 2215
一关于局部变量整体变量的理解以及somethingabout不可变对象defChangeInt(a):...a=10...b=2ChangeInt(b)print(b)2这个不可变对象的实例让我产生了疑惑,于是我做了如下:defChangeInt(a):...a=10...a=2ChangeInt(a)print(a)2这个其实很好理解,因为a=10只是个局部变量,也没有return无法对外部造成影响。哪怕我做如下操作:defChangeInt(a):..
系统 2019-09-27 17:53:47 2215
基于TCP协议的套接字编程实现电话沟通为例,这里传递的是字符,可以自己尝试去发送一个文件#服务端importsocket#1.符合TCP协议的手机server=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#TCP#2.绑定手机号一个服务器,我们自己的电脑作为服务器的话,用自己的IP地址server.bind(('127.0.0.1',8000))#127.0.0.1代表本地#server.bind(('1
系统 2019-09-27 17:53:04 2215
前言学过Python数据分析的朋友都知道,在可视化的工具中,有很多优秀的三方库,比如matplotlib,seaborn,plotly,Boken,pyecharts等等。这些可视化库都有自己的特点,在实际应用中也广为大家使用。plotly、Boken等都是交互式的可视化工具,结合Jupyternotebook可以非常灵活方便地展现分析后的结果。虽然做出的效果非常的炫酷,比如plotly,但是每一次都需要写很长的代码,一是麻烦,二是不便于维护。我觉得在数据
系统 2019-09-27 17:52:48 2215
前言栈、队列和优先级队列都是非常基础的数据结构。Python作为一种“编码高效”的语言,对这些基础的数据结构都有比较好的实现。在业务需求开发过程中,不应该重复造轮子,今天就来看看些数据结构都有哪些实现。0x00栈(Stack)栈是一种LIFO(后进先出)的数据结构,有入栈(push)、出栈(pop)两种操作,且只能操作栈顶元素。在Python中有多种可以实现栈的数据结构。1、listlist是Python内置的列表数据结构,它支持栈的特性,有入栈和出栈操作
系统 2019-09-27 17:52:46 2215