Python用了这么多年,总结出超实用的功能和特点
在使用Python这么久,时不时就会发现了一些过去不知道的功能和特性。一些可以说是非常有用,但却没有充分利用。本篇文章总结出你应该了解的Python功能特色,希望大家在学习过程中,少走弯路,善用技巧!带任意数量参数的函数你可能已经知道了Python允许你定义可选参数。但还有一个方法,可以定义函数任意数量的参数。首先,看下面是一个只定义可选参数的例子现在,让我们看看怎么定义一个可以接受任意参数的函数
Python爬虫入门,8个常用爬虫技巧盘点
编程对于任何一个新手来说都不是一件容易的事情,Python对于任何一个想学习的编程的人来说的确是一个福音,阅读Python代码像是在阅读文章,源于Python语言提供了非常优雅的语法,被称为最优雅的语言之一。python入门时用得最多的还是各类爬虫脚本,写过抓代理本机验证的脚本、写过论坛中自动登录自动发贴的脚本写过自动收邮件的脚本、写过简单的验证码识别的脚本。这些脚本有一个共性,都是和web相关的
Python超详细的基础笔记,你还在苦恼怎么学吗?
python简介python是一种面向对象的解释型计算机程序设计语言,python的是吉多·范罗苏姆(Guido van Rossum)于1989年发明任何语言都有优缺点,python也不例外,python的优点是简单易懂、可移植性、可扩展性、可嵌入性,python的缺点,一就是运行速度慢,因为python是解释型语言,代码在执行过程中会一行一行翻译成cpu能理解的机器码;二是代码不能加密,如果要
使用Python这么多年,竟然还有这些实用的功能和特点!
在使用Python多年以后,我偶然发现了一些我们过去不知道的功能和特性。一些可以说是非常有用,但却没有充分利用。考虑到这一点,我编辑了一些你应该了解的Python功能特色。带任意数量参数的函数你可能已经知道了Python允许你定义可选参数。但还有一个方法,可以定义函数任意数量的参数。首先,看下面是一个只定义可选参数的例子现在,让我们看看怎么定义一个可以接受任意参数的函数。我们利用元组来实现。使用G
人生苦短:Python里的17个超赞操作
人生苦短,我选Python”。那么,你真的掌握了Python吗?1. 交换变量有时候,当我们要交换两个变量的值时,一种常规的方法是创建一个临时变量,然后用它来进行交换。比如:输入a = 5b = 10创建临时变量temp = aa = bb = tempprint(a)print(b)但在Python中,其实我们有一种更简洁的写法:2. 将list中的所有元素转为单个字符串列表和字符串是Pytho
Python编程入门基础语法详解
一、基本概念1.内置的变量类型:Python是有变量类型的,而且会强制检查变量类型。内置的变量类型有如下几种:浮点float_number = 2.3复数complex_number = 1 + 5j整型integer_number = 1list 序列sample_list = [2,52,36,'abc']嵌套sample_nest = [(2,4,6),{5:7,9:11,&
python基本数据类型
计算机的本质就是计算,在其内部是0和1的比特位的变化,对外表现就是数据的变化。那么,计算机都能处理什么数据呢?本质上,数据都是以字节(Byte)存储的,表现上看,它们就是整数、浮点数和字符串等。Python的基本数据类型也不外乎于此。整数和浮点数就跟数学中的一样,而字符串就是各种字符的组合。数值类型:整数(int)、浮点数(float)int和float是Python中为整数和浮点数保留的关键字。
python基础教程:运算对象、运算符、表达式和语句
编程的本质就是数据和运算,数据由基本数据类型、数据结构来表示,运算就是对这些数据的各种操作,基本的加减乘除、是非判断、流程控制等等。这些操作就是今天我们要讲的运算符、表达式和语句。前面我们学习Python的基本语法时,讲到了Python程序的行的概念,这个行再细分就是运算符(Operators)、运算对象(Operands)、表达式(Express)、语句(Statements)。提示:运算和操作
Python 基本语法
Python 作为一门计算机语言自然有它自己的语法规则,就像英语、汉语都有自己的语法规则一样。Python的语法以简洁著称,它以行、缩进、注释、标识符、保留关键字等几方面来规定了自己的语法。下面我们先看一段Python代码:Python 的行在Python里面,行分为逻辑行和物理行。物理行就是以行结束符(\n)结尾算作一行,通常一个物理行也就是一个逻辑行。但有时候,一个逻辑行可以包含多个物理行,比
leetcode无重复字符的最长字串 python实现
无重复字符的最长字串是一道字符串处理算法的题目,在日常编程中,处理字符串是常见任务。用Python来实现leetcode这道算法题,该题目会涉及到一个概念“滑动窗口”。一、题目描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度(Longest substring without repeating characters)。示例 1: 输入: "a
用Python写一个带图形界面的文件压缩软件
文件压缩和解压我们在日常工作学习中会经常用到,比如winrar、快压、好压等压缩软件打开之后的界面长这个样子:压缩完成后是这个样子:解压完成后是这个样子:Python压缩软件程序实现和分析过程首先不像商业压缩软件,我把功能简化了很多,只实现主要的压缩(压缩文件和文件夹)和解压功能。Python有一些第三方压缩和解压的库,我选用了zipfile,把文件压缩为.zip,图形化选用了pyqt5,因为之前
Python爬虫小偏方:修改referer绕开登录和访问频率限制
看官们在写爬虫程序时应该都会遇到如下问题:你的爬虫程序开发时能正常抓取网页,但是正式大量抓取时,抓取的网站总是返回403或者500等;你抓取的网站需要登录,要花大量时间去研究网站登录流程。遇到问题1,我们的第一反应是达到对方访问频率限制,IP被对方屏蔽了,然后就找更多IP和降低访问频率。遇到问题2,就硬着头皮研究对方加密方法,或人肉登录后用机器把cookie保存下来,耗去好几天时间。除了上述直接攻
Python爬虫小偏方:突破登录和访问频率限制,多研究对方不同终端产品
其实在抓取数据时,如果有大量的离散账号和离散IP的话,抓取数据就问题不大了。但是老猿相信大部分的爬虫选手们都没有这么多的资源,所以就会绞尽脑汁研究和各种尝试对方的访问控制策略,如果始终无法破局,这时就要跳出来想下其他办法,比如多使用一下对方的产品,包括APP,网站,微信等,抓包看看他们之间的URL有没有关联,访问控制策略是否一致等,有时你会找到新的突破口。曾经我想要某职业社交APP里的一些用户详细
Python 爬虫网页内容提取工具xpath
上一节,我们详述了lxml.html的各种操作,接下来我们熟练掌握一下XPath,就可以熟练的提取网页内容了。XPath 是什么?XPath的全称是 XML Path Language,即XML 路径语言,是一种在XML(HTML)文档中查找信息的语言。它有4点特性:XPath 使用路径表达式在 XML 文档中进行导航XPath 包含一个标准函数库XPath 是 XSLT 中的主要元素XPath
Python爬虫网页,解析工具lxml.html(二)
【前情回顾】如何灵活的解析网页,提取我们想要的数据,是我们写爬虫时非常关心和需要解决的问题。从Python的众多的可利用工具中,我们选择了lxml的,它的好我们知道,它的妙待我们探讨。前面我们已经从HTML字符串转换成的HtmlElement对象,接下来我们就探讨该如何操作这个的HtmlElement对象。lxml.html的HtmlElement对象的各种属性和方法这个的HtmlElement对
Python 爬虫网页,解析工具lxml.html(一)
狭义上讲,爬虫只负责抓取,也就是下载网页。而实际上,爬虫还要负责从下载的网页中提取我们想要的数据,即对非结构化的数据(网页)进行解析提取出结构化的数据(有用数据)。比如,我们要抓取了一个新闻页面的网页(html)下来,但我们想要的是这个网页中关于新闻的结构化数据:新闻的标题、新闻的发布时间、新闻的正文等。所以说,网页下载下来只是第一步,还有重要的一步就是数据提取。不同的爬虫想要的数据不一样,提取的
为爬虫获取登录cookies: 使用Charles和requests模拟微博登录
我们讲了如何配置Charles代理,这一节我们通过模拟微博登录这个例子来看看如何使用Charles分析网站加载流程,顺便把微博模拟登录的Python代码也给实现了。1. 用Charles记录整个登录过程首先,我们运行Charles并开始记录。然后打开Chrome浏览器,选择使用Charles代理,打开微博首页 ,出现登录页面(如果之前登录过微博,要先退出登录)。输入用户名和密码进行登录,
为爬虫获取登录cookies:charles工具的使用
“工欲善其事,必先利其器”。前面我们提到分析登录过程的工具,今天,我们就来介绍其中一款工具——Charles的使用。1. Charles 简介好多人把它叫做抓包工具,好像也没什么不对。但官方把它定义为一个代理(Proxy)。我们看看官方是怎么说的:Charles是一个HTTP代理(或HTTP监视器,或反向代理),可以让开发者观察到他们的机器和互联网之间的所有HTTP和SSL/HTTPS流量。这包括
为爬虫获取登录cookies:登录的恩恩怨怨
讲到的新闻爬虫,是基本不受目标服务器限制的爬虫,技术上的挑战主要在抓取任务的管理、分配,并发的使用,提高效率等方面。而实际中,不同抓取目标的爬虫会遇到很多阻碍,这个阻碍就是登录。曾几何时,登录是一件很简单的事情,一个账户及其密码,POST给服务器,服务器验证通过即可。那是一个美好的朴素年代,服务器不设防,用户不贪婪。然而,时过境迁,人心变了。越来越多的人想要收集数据,爬虫也就越来越多;而网站就有了
大规模异步新闻爬虫【5】:网页正文的提取
前面我们实现的新闻爬虫,运行起来后很快就可以抓取大量新闻网页,存到数据库里面的都是网页的html代码,并不是我们想要的最终结果。最终结果应该是结构化的数据,包含的信息至少有url,标题、发布时间、正文内容、来源网站等。所以,爬虫不仅要干下载的活儿,清理、提取数据的活儿也得干。所以说嘛,写爬虫是综合能力的体现。一个典型的新闻网页包括几个不同区域:新闻网页区域我们要提取的新闻要素包含在:标题区域met