Python爬虫(四) URLError、HTTPError异常处理

1.URLError首先解释下URLError可能产生的原因:网络无连接,即本机无法上网 连接不到特定的服务器 服务器不存在 在代码中,我们需要用try-except语句来包围并捕获相应的异常。下面是一个例子:import urllib.requestrequest = urllib.reques...

2017-11-07 14:58:36

阅读数 613

评论数 0

Python爬虫(三)Urllib库的高级用法

1.设置Headers有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性。可以打开Chrome浏览器,调试浏览器F12,打开网络监听,尝试登陆知乎,会发现登陆之后界面都变化了,出现一个新的界面,实...

2017-10-31 16:51:58

阅读数 198

评论数 0

Python爬虫(二)使用urllib来爬点东西

1、先爬一个网页下来看看吧 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是优美有序的画面,但是其实是由浏览器解释才呈现出来的,实质它是一段HTML代码,加JS、CSS,下面我们就来扒一个网页下来看看。# python 3 import urllib.request...

2017-10-31 11:11:44

阅读数 182

评论数 0

Python 爬虫(一)综述

1.首先,什么是爬虫呢?爬虫(spider),可以理解为在网络上爬行的一只蜘蛛,爬虫在互联网这张网上爬来爬去地找资源,如果它遇到想要的资源,就会把它抓取下来。至于什么资源是想要的抓取的?这个由你来控制它咯。 概括来说,爬虫就是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。2.浏览网页的...

2017-10-30 15:38:48

阅读数 266

评论数 0

HTTP 405 错误 – 方法不被允许 (Method not allowed)

HTTP 协议定义一些方法,以指明为获取客户端(如您的浏览器或我们的 CheckUpDown 机器人)所指定的具体网址资源而需要在 Web 服务器上执行的动作。则这些方法如下: OPTIONS( 选项 ) :查找适用于一个特定网址资源的通讯选择。 在不需执行具体的涉及数据传输的动作情况下, 允...

2017-09-06 10:43:23

阅读数 3094

评论数 0

Python StringIO和BytesIO

1、StringIO很多时候,数据读写不一定是文件,也可以在内存中读写。 StringIO顾名思义就是在内存中读写str。 要把str写入StringIO,我们需要先创建一个StringIO,然后,像文件一样写入即可:>>> from io import StringIO &...

2017-08-30 18:23:10

阅读数 395

评论数 0

python 正则表达式

(廖雪峰Python教程学习笔记)字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在。比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用。正则表达式是一种用来匹配字符串的强有力的武器。...

2017-08-08 17:44:07

阅读数 166

评论数 0

Python 在当前目录以及其子目录下查找文件名包含指定字符串的文件,并打印出相对路径。

import os def search_file(dir,sname): if sname in os.path.split(dir)[1]: #检验文件名里是否包含sname print(os.path.relpath(dir)) #打印相对路径,相对指相对于当前路...

2017-08-07 15:47:38

阅读数 6957

评论数 0

Python 文件和目录操作

操作文件和目录的函数一部分放在os模块中,一部分放在os.path模块中,这一点要注意一下。查看、创建和删除目录可以这么调用:# 查看当前目录的绝对路径: >>> os.path.abspath('.') '/Users/michael' # 在某个目录下创建一个新目录,首先把新...

2017-08-07 11:52:24

阅读数 180

评论数 1

Python常见的错误类型及其继承关系

Python所有的错误都是从BaseException类派生的。 下面是Python常见的错误类型及其继承关系:BaseException +– SystemExit +– KeyboardInterrupt +– GeneratorExit +– Exception ...

2017-08-04 11:49:31

阅读数 713

评论数 0

Python函数参数(默认参数、可变参数、关键字参数及参数组合)

(廖雪峰Python教程学习笔记)Python的函数具有非常灵活的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。 默认参数一定要用不可变对象,如果是可变对象,程序运行时会有逻辑错误! 要注意定义可变参数和关键字参数的语法: *args是可变参数,args接收的是一个tuple; ...

2017-08-03 17:46:17

阅读数 516

评论数 0

Python 匿名函数

(廖雪峰Python教程学习笔记)当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。在Python中,对匿名函数提供了有限支持。还是以map()函数为例,计算f(x)=x2时,除了定义一个f(x)的函数外,还可以直接传入匿名函数:>>> list(map...

2017-08-01 17:51:26

阅读数 153

评论数 0

python 函数返回多个值

(廖雪峰Python教程学习笔记)函数体内部的语句在执行时,一旦执行到return,函数就执行完毕,并将结果返回。 如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。 return None可以简写为return。Python中的函数是可以返回多个值的。比如在游戏中经常...

2017-08-01 16:48:53

阅读数 9403

评论数 0

Python 判断回数(例如12321、909)

回数是指从左向右读和从右向左读都是一样的数,例如12321,909。 现在用Python来实现方法一:# 判断回数 def is_palindrome(n): s=str(n) for i in range((len(s)+1)//2): if s[i] != s...

2017-08-01 15:51:16

阅读数 2599

评论数 3

关于Python中的不可变对象

我们都知道,在Python中str是不变对象,而list是可变对象。 对于可变对象,比如list,对list进行操作,list内部的内容是会变化的,比如:>>> a = ['c', 'b', 'a'] >>> a.sort() >>> a [...

2017-08-01 11:46:10

阅读数 311

评论数 0

Python 用一个生成器函数实现杨辉三角

杨辉三角定义如下: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1现在用一个生成器函数来实现杨辉三角,把每一行看做一个list实现...

2017-08-01 11:39:13

阅读数 386

评论数 0

python中的dict存储

(学习廖雪峰教程的笔记)Python中的dict查找速度非常快,这是因为dict的实现原理和查字典是一样的。假设字典包含了1万个汉字,我们要查某一个字,一个办法是把字典从第一页往后翻,直到找到我们想要的字为止,这种方法就是在list中查找元素的方法,list越大,查找越慢。第二种方法是先在字典的索...

2017-07-31 18:44:35

阅读数 2726

评论数 1

python 变量在内存中的表示(变量赋值误区)

通过一个小例子来理解变量在计算机内存中的表示~当我们写:a = 'ABC'时,Python解释器干了两件事情:1、在内存中创建了一个'ABC'的字符串;2、在内存中创建了一个名为a的变量,并把它指向'ABC'。 我们也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数...

2017-07-28 16:52:36

阅读数 1308

评论数 0

pandas读取csv处理时报错:ParserError: Error tokenizing data. C error: Expected 1 fields in line 29, saw 2

csv文件默认的是以逗号为分隔符,但是中文中逗号的使用率很高,爬取中文数据室就容易造成混淆,所以使用pandas写入csv时可以设置参数 sep=’\t’ ,即以tab为分隔符写入。毕竟tab在中文习惯里用的很少嘛。 那这样在后面读取csv进行数据处理时,一定记得加上一个参数delimiter:...

2017-07-21 11:06:45

阅读数 27324

评论数 3

pandas读取csv文件进行处理时报错: TypeError: invalid type comparison

在Python中用pandas读取csv文件并对csv里面的数据进行处理的时候,有可能会遇到这样的错误:TypeError: invalid type comparison无效的类型比较这时可以去打印一下你的dataframe中的数据1、可能有些条目中没有数据,打印时它会显示成nan,而nan是没...

2017-07-21 10:22:29

阅读数 9571

评论数 2

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