自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 python过滤html文档中的Tag标签

最近在练习爬虫时需提取HTML文档正文内容,现总结如下方法。方法一: 模块 lxml.html.clean 提供 一个Cleaner 类来清理 HTML 页。它支持删除嵌入或脚本内容、 特殊标记、 CSS 样式注释或者更多。   注意,page_structure,safe_attrs_only为False时保证页面的完整性,否则,这个Cleaner会把你的html结构与标签里的属性都给清理了。

2017-08-23 14:54:07 14616 1

原创 使用python识别图像中的文字

以下内容主要介绍一下使用python语言及PIL,pytesser模块来识别图片中的文字,这样方便我们在模拟网站登录时识别验证码(可能也需要用到selenuim模块)。现在正式开始介绍:PIL安装PIL官方下载:http://www.pythonware.com/products/pil/至于详细安装步骤,我不再赘述,这篇文章讲的很详细: http://blog.csdn.net/hqzxsc20

2017-08-25 15:44:30 18246 1

转载 Django详细教程(图文)

版权所有,转载需注明来源!  本文面向:有python基础,刚接触web框架的初学者。  环境:windows7    python3.5.1   pycharm专业版   Django 1.10版  pip3一、Django简介  百度百科:开放源代码的Web应用框架,由Python语言编写……  重点:一个大而全的框架,啥都替你考虑好了。1. web框架介绍  具体介绍Django

2017-08-24 12:58:13 3064 2

原创 python函数装饰器的使用

使用装饰器的一个好处就是可以对函数进行批量操作:我们先写两个函数:def func1(): print 'This is func1'def func2(): print 'This is func2' func1()func2()'''out:This is func1This is func2'''装饰器的基本使用:使用装饰器对这两个函数进行修改def out

2017-08-23 17:22:06 439

转载 python多进程、多线程详解

内容提要paramiko模块进程、与线程区别python GIL全局解释器锁多线程语法join线程锁之Lock\Rlock\信号量将线程变为守护进程Event事件 queue队列生产者消费者模型多进程语法join进程Queue进程Pipe进程Manager进程同步进程池  1.paramiko模块      安装:若已安装pip则:pip install pa

2017-08-23 15:22:46 1032

原创 python使用wordcloud创建词云

最近对词云比较感兴趣,所以简单学习了一下,希望这篇文章能对同样想要学习词云的朋友有所帮助。本文用的是python实现词云的创建,当然也可以用词云生成器来生成。模块安装这里需要用到的模块有:wordcloud ,jieba,PIL,numpy,matplotlib我电脑已安装pip工具:pip install ‘xxx’工程介绍我这里的测试文件是:text.txt 里边存放的内容为百度百科对于苹果公司

2017-08-21 17:06:17 2324

原创 断言(assert)表达式的使用

如何在一些场景下使用断言表达式python的assert是用来检查一个条件,如果它为真,就不做任何事,如果为假,则抛出AssertError并且包含错误信息:以下为测试代码:第一句为真不作任何事,第二句代码为假,抛出AssertError并且包含错误信息>>> assert 'abc' in 'abcdef'>>>>>> assert 'abc' in 'defghi'Traceback (m

2017-08-21 13:53:45 1938

原创 python中decode和encode的区别和联系

编码问题:decode和encode的区别和联系 python中,我们使用decode()和encode()来进行解码和编码。使用unicode类型作为编码的基础类型。即str —-(decode)—–> unicode —–(encode)—->str字符串在python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(

2017-08-21 13:53:12 1694

转载 python yield详解

如何生成斐波那契數列斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到。用计算机程序输出斐波那契數列的前 N 个数是一个非常简单的问题,许多初学者都可以轻易写出如下函数:清单 1. 简单输出斐波那契數列前 N 个数 def fab(max): n, a, b = 0, 0, 1 while n < max:

2017-08-18 15:36:34 339

原创 python操作MySQL数据库(增删改查)

在之前进行python操作MySQL数据库时,写了一些可通用的模板,现将代码总结如下:为降低耦合性,我将连接数据库的内容单独建立了一个文件,取名为:config.py代码如下:#config.py#!/user/local/bin/python2.7# encoding:utf-8#以字典形式保存数据库连接信息conn = dict(host='127.0.0.1',port = 3306,

2017-08-18 09:43:09 1696

转载 python报错:local variable 'xxxx' referenced before assignment

这个问题很囧,在外面定义了一个变量 xxx ,然后在Python的一个函数里面引用这个变量,并改变它的值,结果报错local variable ‘xxx’ referenced before assignment,代码如下:[python] view plain copyxxx = 23 def PrintFileName(strFileName): if xxx == 23:

2017-08-17 13:49:06 16723

原创 使用python对列表(list)去重

在处理列表去重时,整理方法如下。希望对这方面知识又困惑的人能有所帮助。常见方法:lis = [1,2,4,3,5,3,8,7,6,4,5]news_lis = []for ls in lis: if ls not in news_lis: news_ids.append(ls)print news_idsset()集合方法:#使用set集合对列表去重,但set不会将列表

2017-08-17 10:24:24 474

转载 scrapy操作MySQL数据库

使用scrapy爬虫框架将数据保存MySQL数据库和文件中settings.py

2017-08-16 12:51:38 2287

原创 python创建目录(文件夹)

python对文件操作主要会用到os模块: 主要涉及到三个函数1、os.path.exists(path) 判断一个目录是否存在2、os.makedirs(path) 多层创建目录3、os.mkdir(path) 创建目录DEMO以下是代码: # 引入模块#!/user/local/bin/python2.7# -*- coding:utf-8 -*-import osdef mkdir(

2017-08-16 09:30:21 46444

转载 python文件创建,读取,追加,删除操作

一、用Python创建一个新文件,内容是从0到9的整数, 每个数字占一行:#python>>>f=open('f.txt','w') # r只读,w可写,a追加>>>for i in range(0,10):f.write(str(i)+'\n'). . .>>> f.close()二、文件内容追加,从0到9的10个随机整数:#python>>>import random>>>

2017-08-15 16:30:45 1076

原创 python web.py详解

你知道Python同时你希望制作一个网站。 那么web.py正好提供了一种简单的方法。 详细,可以查看官方文档:http://webpy.org/如果你已经有了一个web.py项目,请看看升级 页面的相关信息。准备开始。URL 处理任何网站最重要的部分就是它的URL结构。你的URL并不仅仅只是访问者所能看到并且能发给朋友的。它还规定了你网站运行的心智模型。在一些类似del.icio.us的流行网站

2017-08-15 09:43:59 3637 1

原创 python中time模块与datatime模块用法

python中内置的各项时间日期函数几乎都来自于time与datatime模块,以下为这两个模块的详细用法:time:在 Python 文档里,time是归类在Generic Operating System Services中,换句话说, 它提供的功能是更加接近于操作系统层面的。通读文档可知,time 模块是围绕着 Unix Timestamp 进行的。 该模块主要包括一个类 struct_ti

2017-08-15 09:27:28 2932

原创 python time时间格式化

将当前时间格式化:>>> import time>>> a = time.time()>>> time.ctime(a)'Mon Aug 14 17:23:37 2017'>>>

2017-08-14 17:30:38 4395

原创 selenium模拟登陆163邮箱

本人在学习selenium时,用其成功登录163邮箱。故而将过程记录如下,供以后回顾:#!/user/local/bin/python2.7# -*- coding:utf-8 -*-#模拟登陆163邮箱from selenium.webdriver.common.keys import Keysfrom selenium import webdriveruserName = '用户账号'

2017-08-09 16:55:20 2013

原创 python测试代码报错:Ran 0 test in 0.00s

最近在学习selenium时,使用unittest框架进行代码测试时,发现报以下错误:Ran 0 test in 0.00sOK原因:unittest提供了全局的main()方法,使得一个单元测试模块变成可以直接运行的测试脚本,main()方法使用TestLoader类来搜索所有包含在模块中以“test”命名开头的测试方法,并自动执行它们 。故而,将解决办法记录如下(以下是我测试代码,已正常运行

2017-08-09 10:53:26 4629

原创 python函数编程SyntaxError: non-default argument follows default argument

SyntaxError: non-default argument follows default argument解决办法:如果一个函数的参数中含有默认参数,则这个默认参数后的所有参数都必须是默认参数 。def run(name,age=10,sex): print name ,age ,sex SyntaxError: non-default argument follo

2017-08-08 16:00:44 2812

转载 Http协议详解

HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1

2017-08-07 10:22:49 449

转载 爬虫突破封禁的6种常见方法

为何大量网站不能抓取?爬虫突破封禁的6种常见方法 在互联网上进行自动数据采集(抓取)这件事和互联网存在的时间差不多一样长。今天大众好像更倾向于用“网络数据采集”,有时会把网络数据采集程序称为网络机器人(bots)。最常用的方法是写一个自动化程序向网络服务器请求数据(通常是用 HTML 表单或其他网页文件),然后对数据进行解析,提取需要的信息。本文假定读者已经了解如何用代码来抓取一个远程的 URL,

2017-08-07 10:14:20 764

转载 搜索引擎爬虫原理

搜索引擎的处理对象是互联网网页,日前网页数量以百亿计,所以搜索引擎首先面临的问题就是:如何能够设计出高效的下载系统,以将如此海量的网页数据传送到本地,在本地形成互联网网页的镜像备份。网络爬虫即起此作用,它是搜索引擎系统中很关键也根基础的构件。这里主要介绍与网络爬虫相关的技术,尽管爬虫技术经过几十年的发展,从整体框架上已相对成熟,但随着联网的不断发展,也面临着一些有挑战性的新问题。下图所示是一个通用的

2017-08-01 11:50:03 895

转载 requests模块的安装与应用

requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的:python的标准库urllib2提供了大部分需要的HTTP功能,但是API太逆天了,一个简单的功能就需要一大堆代码。我也看了下requests的文档,确实很简单,适合我这种懒人。下面就是一些简单指南。

2017-08-01 10:37:40 727

原创 python使用cookie模拟登陆

最近在学习爬虫过程中,要用到模拟登陆,本文对模拟登陆做一个简单的介绍,一方面是为以后的查找,也为初学者模拟登陆一个网站提供些参考。

2017-08-01 10:01:38 4121

转载 常用浏览器User-Agent

1,为什么需要修改UserAgent在写python网络爬虫程序的时候,经常需要修改UserAgent,有很多原因,罗列几个如下:不同Agent下看到的内容不一样,比如,京东网站上的手机版网页和pc版网页上的商品优惠不一样为避免被屏蔽,爬取不同的网站经常要定义和修改useragent值。 ……修改agent值这个操作本身比较简单,UserAgent值是一串字符串,替换上即可,主要是用对Use

2017-07-27 10:07:40 5488

原创 python中去掉字符串中的空格

我们想去除字符串中不必要的空格时可以使用如下方法

2017-07-19 10:56:43 11951

原创 python中range和xrange的区别

在python中range返回的是一个包含所有元素的列表,xrange返回的是一个生成器,生成器是一个可迭代对象,在对生成器进行迭代时,元素是逐个被创建的。一般来看,在对大序列进行迭代的时候,因为xrange的特性,所以它会比较节约内存,比较高效。首先我们来看看range的特性:>>>range(9)>>>[0, 1, 2, 3, 4, 5, 6, 7, 8]>>>type(ra

2017-07-18 17:26:20 476

原创 查看已登录网站cookie信息

最近在学习爬虫模拟登录方面的知识。需要用到cookie信息,所以简要说明一下从浏览器获取网页cookie信息的方法。chrome浏览器: 方法一: 1.打开设置选项,链接为:chrome://settings/content,直接进入内容设置选项,可以看到cookie基本设置。如下图: 2.点击所有Cookie和网站数据即可查看浏览过的网站cookie信息。 方法二:

2017-07-18 17:13:03 40876 6

原创 linux中文件数目统计

linux文件数目统计

2017-07-18 09:52:40 419

转载 浮躁的年轻人

年龄,那是一种对时间的焦虑。

2017-07-18 08:46:19 895

原创 map&reduce&filter

reduce通常执行连续操作,如累加、累乘...>>>reduce(lambda x,y:x+y,range(1,5))>>>10以上代码实现从1累加到4,结果为10。

2017-07-16 22:48:06 243

转载 linux基本命令

由于最近在使用linux系统,好多的命令特别容易忘记,故而总结如下。系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT

2017-07-16 20:30:37 281

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除