python
文章平均质量分 51
Winterto1990
这个作者很懒,什么都没留下…
展开
-
python写入csv文件的几种方法总结
最常用的一种方法,利用pandas包import pandas as pd#任意的多组列表a = [1,2,3]b = [4,5,6] #字典中的key值即为csv中列名dataframe = pd.DataFrame({'a_name':a,'b_name':b})#将DataFrame存储为csv,index表示是否显示行名,default=Truedataframe...转载 2018-03-08 17:17:39 · 38268 阅读 · 7 评论 -
BeautifulSoup的高级应用 之.parent .parents .next_sibling.previous_sibling.next_siblings.previous_siblings
继上一篇BeautifulSoup的高级应用,主要讲解的是contents children descendants string strings stripped_strings,本篇主要讲解.parent .parents .next_sibling .previous_sibling .next_siblings .previous_siblings本篇博客继续使用上篇的html页面内容:ht原创 2015-08-20 00:39:47 · 14092 阅读 · 0 评论 -
BeautifulSoup高级应用 之 CSS selectors /CSS 选择器
BeautifulSoup支持最常用的CSS selectors,这是将字符串转化为Tag对象或者BeautifulSoup自身的.select()方法。本篇所使用的html为:html_doc = """<html><head><title>The Dormouse's story</title></head><body><p class="title"><b>The Dormouse's原创 2015-08-20 15:49:07 · 20423 阅读 · 0 评论 -
BeautifulSoup的高级应用 之 contents children descendants string strings stripped_strings
继上一节,BeautifulSoup的高级应用 之 find findAll,这一节,主要讲解BeautifulSoup有关的其他几个重要应用函数。本篇中,所使用的html为:html_doc = """ <html><head><title>The Dormouse's story</title></head> <p class="title"><b>The Dormouse's story原创 2015-08-19 13:33:47 · 6141 阅读 · 0 评论 -
Pycharm的安装及主要的应用,使用说明及案例
在写博客之前,我想夸赞一下Python这门语言,2015年的编程语言排行榜中Python位居第6,已经超越了JavaScript和PHP,相对2014年上升了两个名次个人很看好Python的发展,希望学习Python的程序猿坚守。好了,进入主题:Pycharm。 我想看到这篇博客的人肯定对Pycharm已经有所了解了,个人认为是Python IDE最好的开发工具了,下面我将介绍Pycharm的安原创 2015-08-07 12:07:01 · 13823 阅读 · 0 评论 -
python中的数据结构 之 list列表
在python中,list列表数据类型有许多的实用方法,下面主要讲解部分方法:list.append(x): 想列表的末尾添加一个对象,对象类型可以使整数,可以使字符。list=[]list.append('hehe')list.append(21)for item in list: print item#hehe#21list.extend(L):list=[]list.ap原创 2015-08-17 22:22:49 · 3521 阅读 · 0 评论 -
python操作MySQL
在学习python的过程中,一定会使用到MySQL的数据库操作,这里就会用到python的MySQLdb模块,至于MySQLdb模块的安装以及更新卸载可以查看博客,使用easy_install或者是pip安装都可以。下面讲一下python对MySQL的一些基本的操作,包括数据库的连接,数据的增删改查等操作。一 数据库的连接#coding=utf-8import MySQLdbconn= MySQ原创 2015-08-16 18:29:31 · 2661 阅读 · 0 评论 -
selenium+webdriver爬取动态网页介绍_python
网页爬虫分为静态网页爬虫和动态网页爬虫,前者是指索要获取的网页内容不需要经过js运算或者人工交互,后者是指获取的内容必须要经过js运算或者人工交互。这里的js运算可能是ajax,人工交互不需要解释了。静态爬虫现在已经很成熟了,借助于python中的urllib和beautifulsoup可以很容易实现,爬到的内容通过python的字符串处理写入数据库,甚至可以通过web形式展现。动态爬虫有两种工具,原创 2015-08-31 10:19:21 · 7406 阅读 · 0 评论 -
python中多进程的一般建议
multiprocessing模块是python库中最高级和功能最强大的模块之一。记住下面这些一般性技巧,可以更好地掌握这个模块。1 在构建较大型的应用程序之前,仔细阅读在线文档。 2 确保进程间传递的所有的数据都能够序列化 3 避免使用共享数据,尽可能使用消息传递和队列。使用消息传递时,不必过于担心同步、锁定和其他问题。当进程的数量增长时,它往往还能提供更好的扩展。 4 在必须运行在单独进程原创 2015-08-30 23:13:11 · 1539 阅读 · 0 评论 -
python中xrange和range的比较
range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。 range示例:>>> range(5) [0, 1, 2, 3, 4] >>> range(1,5) [1, 2, 3, 4] >>> range(0,6,2)[0, 2, 4]xrange 函数说明:用法与ran转载 2015-08-17 10:55:33 · 1538 阅读 · 0 评论 -
multiprocessing在python中的高级应用-托管对象
继上一篇,介绍的multiprocessing在python中的高级应用-共享数据与同步,此篇的主要内容主要介绍托管对象。和线程不同,进程不支持共享对象。尽管可以像前面所述那样创建共享值和数组,但这对更高级的python对象(如字典、列表或用户定义类的实例)不起作用。但是multiprocessing模块确实提供了一种使用共享对象的途径,但前提是他们运行在所谓的管理器的控制之下。管理器是独立的原创 2015-08-30 22:47:12 · 2306 阅读 · 0 评论 -
python对文件的读取操作方式比较
因为正在学习python,总结了一下python读取本地文件的方式,这里以文本文件(.txt)为例,总结出四个方式,并做一下比较。首先是通过open函数打开本地的一个文件: c=open(“url.txt”,”r+”) #这里的url.txt为文件的路径 自行设计修改 对于第二个参数的设定,有多个方式,可以参考博客详细讲解。 方式一:c.readline() #可通过判断读取的行是否为空来终原创 2015-08-16 22:08:15 · 5103 阅读 · 0 评论 -
multiprocessing在python中的高级应用-共享数据与同步
通常,进程之间彼此是完全孤立的,唯一的通信方式是队列或管道。但可以使用两个对象来表示共享数据。其实,这些对象使用了共享内存(通过mmap模块)使访问多个进程成为可能。Value( typecode, arg1, … argN, lock ) 在共享内容中常见ctypes对象。typecode要么是包含array模块使用的相同类型代码(如’i’,’d’等)的字符串,要么是来自ctypes模块的类型对原创 2015-08-30 17:13:33 · 9157 阅读 · 0 评论 -
python字符串处理二 内建函数
字符串内建函数字符串方法是python文本处理头号工具string.capitalize()字符串第一个字符大写string.center(width,[,fill])原字符居中,空格填充至width长度string.count(str,beg=0,e转载 2015-08-15 11:11:40 · 1792 阅读 · 0 评论 -
python对文件的操作方式总结
一, open 模式方法总结:w:以写方式打开, a:以追加模式打开 (从 EOF 开始, 必要时创建新文件) r+:以读写模式打开 w+:以读写模式打开 (参见 w ) a+:以读写模式打开 (参见 a ) rb:以二进制读模式打开 wb:以二进制写模式打开 (参见 w ) ab:以二进制追加模式打开 (参见 a ) rb+:以二进制读写模式打开 (参见 r+ ) wb+:以二进转载 2015-08-14 21:32:19 · 5108 阅读 · 0 评论 -
multiprocessing在python中的高级应用-进程池
下面的类可以创建进程池,可以吧各种数据处理任务都提交给进程池。进程池提供的功能有点类似于列表解析和功能性编程操作(如映射-规约)提供的功能。Pool( [ numprocess [, initializer [, initargs] ] ] ) 创建工作进程池。 numprocess是要创建的进程数。如果省略此参数,将使用cpu_count()的值。【这里简单介绍一下: from multip原创 2015-08-30 14:56:51 · 3691 阅读 · 0 评论 -
multiprocessing在python中的高级应用-IPC 之 Queue
multiprocessing模块支持进程间通信的两种主要形式:管道和队列。这两种方法都使用了消息传递实现的,但队列接口有意模仿线程程序中常见的队列用法。 有关Queue编程实例可以查看微博内容。Queue([maxsize]) 创建共享的进程队列。maxsize是队列中允许的最大项数。如果省略此参数,则无大小限制。底层队列使用管道和锁定实现。另外,还需要运行支持线程以便队列中的数据传输到底层管原创 2015-08-30 12:02:34 · 7174 阅读 · 0 评论 -
python中list列表的高级应用 高级函数
在python所有的数据结构中,list具有重要地位,并且非常的方便,这篇文章主要是讲解list列表的高级应用,基础知识可以查看博客。 此文章为python英文文档的翻译版本,你也可以查看英文版。https://docs.python.org/2/tutorial/datastructures.htmluse a list as a stack: #像栈一样使用列表 stack = [3,翻译 2015-08-17 23:17:48 · 6400 阅读 · 3 评论 -
BeautifulSoup中各种html解析器的比较及使用
Beautiful Soup支持各种html解析器,包括python自带的标准库,还有其他的许多第三方库模块。其中一个就是lxml parser,另外一种纯python解析器为html5lib解析器,可以像web浏览器那样解析html页面。本文将对各种html解析器性能做一下对比。原创 2015-08-20 13:25:08 · 16463 阅读 · 0 评论 -
总结python中的乱码问题
首先要知道,字符串在Python内部的表示是unicode编码(万国码),因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。python编码有两种数据模型来支持字符串类型 一种是str 一种是unicode。s=”中文” 为str类型的字符串 u=u”中文” 为unicode类原创 2015-08-14 13:23:01 · 6184 阅读 · 0 评论 -
总结python对csv文件的操作
在使用python对文件操作的过程中,你肯定碰到过对csv文件的操作,下面就python对csv文件的操作进行详述。CSV(Comma-Separated Values)逗号分隔符,也就是每条记录中的值与值之间是用分号分隔的。一, 打开CSV文件并写入一行数据>import csv>c=open("url.csv","w")>writer=csv.write(c)>writer.writero原创 2015-08-14 21:25:46 · 47848 阅读 · 4 评论 -
python的二维数组操作
需要在程序中使用二维数组,网上找到一种这样的用法:123456#创建一个宽度为3,高度为4的数组#[[0,0,0],# [0,0,0],# [0,0,0],# [0,0,0]]myList= [[0]* 3]* 4转载 2016-10-27 15:23:56 · 2149 阅读 · 0 评论 -
在windows上安装python的机器学习包numpy scipy scikit_learn matplotlib
最近想要安装python的机器学习库,发现这个安装过程很容易走弯路,自己也是折腾了好久才找到一条捷径,现在分享出来给大家。准备条件: 安装python软件,这里两种可选2.7.x或者3.5.x(这里使用2.7.x为例),将python的安装路径添加到环境变量中。安装步骤:1. nose => 2.numpy =>3.scipy =>4.scikit_learn =>5.原创 2016-10-13 20:42:20 · 1287 阅读 · 0 评论 -
python中requests爬去网页内容出现乱码的解决方案
最近在学习python爬虫,使用requests的时候遇到了不少的问题,比如说在requests中如何使用cookies进行登录验证,这可以查看博客内容。这篇博客要解决的问题是如何避免在使用requests的时候出现乱码。import requests res=requests.get("https://www.baidu.com") print res.content以上就是使用re原创 2016-04-22 09:54:12 · 18533 阅读 · 0 评论 -
python的requests在网络请求中添加cookies参数
哎,好久没有学习爬虫了,现在想要重新拾起来。发现之前学习爬虫有些粗糙,竟然连requests中添加cookies都没有掌握,惭愧。废话不宜多,直接上内容。我们平时使用requests获取网络内容很简单,几行代码搞定了,例如:import requestsres=requests.get("https://cloud.flyme.cn/browser/index.jsp")print r原创 2016-04-21 22:21:37 · 138022 阅读 · 6 评论 -
python中requests使用代理proxies
学习网络爬虫难免遇到使用代理的情况,下面介绍一下如何使用requests设置代理:如果需要使用代理,你可以通过为任意请求方法提供 proxies 参数来配置单个请求:import requests proxies = { "http": "http://10.10.1.10:3128", "https": "http://10.10.1.10:1080", } requests.g原创 2016-04-22 15:06:46 · 251277 阅读 · 12 评论 -
python中urllib2高级应用 使用代理 模拟浏览器 cookie
之前的文章分享了一下python中requests如何使用代理以及如何处理乱码问题,还有使用cookies的问题,有感兴趣的可以查看。下面解决的问题是如何在urllib2中使用代理:proxies={"http":"114.244.112.220:8118"} #设置你想要使用的代理proxy_s=urllib2.ProxyHandler(proxies) opener=u原创 2016-04-23 13:19:53 · 11937 阅读 · 0 评论 -
python“不为人知的”特性
本文整理自SO上的热门问答 hidden features of python ,早期有人做过类似的整理,但是内容比较旧而且比较粗糙,因此笔者在原文基础上加入自己的一些理解,另外那些高质量的评论也引入进来了。总之,这是一篇用心之作,希望你可以喜欢。链式比较操作>>> x = 5>>> 1 < x < 10True>>> 10 < x < 20 False>>> x <转载 2016-04-18 14:32:37 · 1548 阅读 · 0 评论 -
python中文分词jieba的高级应用
最近在使用python的中文分词功能,感觉jieba挺不错的,就转载了这篇文章,希望对各位CSDN网友有所帮助。jieba"结巴"中文分词:做最好的Python中文分词组件 "Jieba" Feature支持三种分词模式:精确模式,试图将句子最精确地切开,适合文本分析;全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,转载 2015-11-01 22:35:18 · 2879 阅读 · 0 评论 -
Python中列表、元组、字典的异同
Python中三种重要的数据类型为:列表、元组、字典。下面比较一下三者的异同点。1.列表list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目。列表中的项目。列表中的项目应该包括在方括号中,这样python就知道你是在指明一个列表。一旦你创建了一个列表,你就可以添加,删除,或者是搜索列表中的项目。由于你可以增加或删除项目,我们说列表是可变的数据类型,即这种类型是可原创 2015-09-30 11:36:38 · 3964 阅读 · 0 评论 -
Python中subprocess学习
subprocess的目的就是启动一个新的进程并且与之通信。subprocess模块中只定义了一个类: Popen。可以使用Popen来创建进程,并与进程进行复杂的交互。它的构造函数如下:subprocess.Popen(args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None, preexec_f转载 2015-10-17 16:09:14 · 1271 阅读 · 0 评论 -
BeautifulSoup中使用正则表达式re
在学习BeautifulSoup过程中,我们肯定都遇到过这种情况,我们在查找某些具有特殊格式的标签时候 头疼,举例说一下:我现在要去爬取www.baidu.com首页中的链接并且输出。在爬取的过程中你会发现,结果会把所有具有标签的连接都输出来了,其中包括一些js跳转或者“/”等符号,所以我们在使用BeautifulSoup函数的时候很有必要对标签的属性进行一下筛选,这就是本文所要将的内容,篇幅小原创 2015-08-22 12:26:19 · 22796 阅读 · 0 评论 -
Python中lambda匿名函数的使用
python lambda是在python中使用lambda来创建匿名函数,而用def创建的方法是有名称的,除了从表面上的方法名不一样外,python lambda还有哪些和def不一样呢?1 python lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而def则会把函数对象赋值给一个变量。2 python lambda它只是一个表达式,而def则是一个语句。 下面是pyth转载 2015-08-17 21:20:20 · 2814 阅读 · 0 评论 -
多线程在python中的使用 thread
最近想学习研究一下python中使用多线程,来提高python在爬虫项目中的效率。 现在我们在网页上查询到在python中使用的多线程的使用大多数都是使用的threading模块,但是python中还有一个模块叫做的thread模块,也能够完成多线程的任务。相比较两者来说,threading是更高级别的应用模块,但thread的存在必然有存在的理由。本篇主要讲介绍一下thread在python中的原创 2015-08-21 23:10:27 · 5587 阅读 · 0 评论 -
python中字典和字符串的使用 dictionary string
dictionary: 字典dict = {‘ob1’:’computer’, ‘ob2’:’mouse’, ‘ob3’:’printer’} 每一个元素是pair,包含key、value两部分。key是Integer或string类型,value 是任意类型。 键是唯一的,字典只认最后一个赋的键值。 dictionary的方法 D.get(key, 0) #同dict[key]转载 2015-08-17 22:31:16 · 5841 阅读 · 0 评论 -
webdriver cookie 处理 selenium_python
有时候我们需要验证浏览器中是否存在某个cookie,因为基于真实的cookie 的测试是无法通过白盒和集成测试完成的。webdriver 可以读取、添加和删除cookie 信息。 webdriver 操作cookie 的方法有: get_cookies() 获得所有cookie 信息 get_cookie(name) 返回特定name 有cookie 信息 add_cookie(co原创 2015-09-04 23:59:09 · 3476 阅读 · 0 评论 -
python并行化介绍及使用 Pool
本篇将要介绍python的并行化,及简单的应用。主要介绍map函数的使用,一手包办了序列操作、参数传递和结果保存等一系列的操作。 首先是引入库: from multiprocessing.dummy import Pool pool=Pool(4) results=pool.map(爬取函数,网址列表)本文将一个简单的例子来看一下如何使用map函数以及这种方法与普通方法的对比情况。impor原创 2015-08-25 13:58:10 · 12425 阅读 · 1 评论 -
multiprocessing在python中的高级应用-IPC 之 Pipe
作为使用队列的另一种形式,还可以使用管道在进程回见执行消息传递。Pipe( [ duplex]) 在进程之间创建一条管道,并返回元组(conn1,conn2),其中conn1和conn2是表示管道两端的Connection对象。默认情况下,管道是双向的。如果将duplex置为False,conn1只能用于接收,而conn2只能用于发送。必须在创建和启动使用管道的Process对象之前调用Pipe(原创 2015-08-30 13:58:27 · 4688 阅读 · 0 评论 -
python字符串处理 join split replace的使用方法
此篇文章是我看到的很不错的有关python字符串处理的文章,再次转载到CSDN与大家共享。Python中的字符串处理1.字符串的对齐方式:①:center(int[,str]) string = ‘Fishhat’ string.center(55) ’ Fishhat ’ s转载 2015-08-15 11:02:23 · 6060 阅读 · 1 评论 -
Queue同步队列类在python中的应用
在python的threading模块学习中,会接触到Queue同步队列的使用。这篇文章将详细介绍Queue。 Queue模块实现了多生产者、多消费者队列。它特别适用于信息必须在多个线程间安全地交换的多线程程序中。这个模块中的Queue类实现了所有必须的锁语义。它依赖于Python中线程支持的可用性;参见threading模块。模块实现了三类队列,主要差别在于取得数据的顺序上。在FIFO(Firs原创 2015-08-23 23:11:39 · 3570 阅读 · 0 评论