Python学习日记4|python爬虫常见报错小结及解决方法

今天是4.18号。

上周五的时候参加了中国银联的暑期实习生笔试,然后收到通知说让周天早上去上海总部面试,自己又错过了那边打过来的电话,本想问可不可以视频面试的,结果是非常遗憾的没有去参加面试。本来暑期实习就不好找,怎么说最终还是怪自己。

论文还是没有出结果,大概还要等上一个星期吧,而python爬虫的学习也还要花差不多两周的时间。


首先声明下面的报错是在使用BeautifulSoup的基础上的
**(1).list index out of range **
这种情况基本就是你获取的列表为空,所以在选取第x各元素([x])时就会报错。

(2).requests 要对返回的状态码做判断
r=requests.get(url)
if r.status_code==200:

(3).异常
异常是指程序中的例外,违例情况。异常机制是指程序出现错误后,程序的处理方法。当出现错误后,程序的执行流程发生改变,程序的控制权转移到异常处理。可能情况有,比如写入文件的时候,磁盘满了,写不进去了;从网络抓取数据,网络突然断掉了;抓取数据时ip被封等等。

其他异常如写进文件时磁盘满了等情况在后面进行文件操作时才会涉及。单单就爬虫过程来看一般是在requests()过程中出现下面几种异常情况:
一、遇到网络问题时,Requests会抛出一个 ConnectionError 异常。
具体情况有两种:一是请求的网址错误或不存在;二是网络中断

二、遇到无效HTTP响应时,Requests则会抛出一个 HTTPError 异常。
具体情况有:服务器拒绝连接,即ip被封等
一般HTTPError又分为 4XX:客户端错误 和 5XX:服务器错误。

对于前两种异常通常使用try...exception...来解决,具体如下:

try:
    #这一部分写正常的运行语句    
    req=requests.get(url)
    ...
    ...
except (requests.ConnectionError, IndexError, UnicodeEncodeError,TimeoutError) 
    print(e.args)
except requests.HTTPError as f:
    print('The server couldn\'t fulfill the request.')

ip被封处理办法

ip被封处理办法.png

三、若请求超时,则抛出一个 Timeout 异常。
具体情况有:网络断开,但经常显示无法连接;网络阻塞;网络不稳定,网络无法完整传送服务器信息;系统原因,系统资源过低,不足以

解决办法:
Timeout又分为connect timeout和read timeout。前者指的是你发出request请求到和服务器建立连接之间的等待时间;后者是同服务器建立连接后到服务器发回response之间的等待时间。那么在请求时可以加上相应的timeout时间,形式如下:
a).r = requests.get('https://XXXX.com', timeout=5)表示默认connect timeout和read timeout的值均为5秒;
b). r = requests.get('https://XXXX.com', timeout=(3.05, 27))表示connect timeout=3.05秒,read timeout=27秒;
c).r = requests.get('https://XXXX.com', timeout=None)则表示一直等待到服务器有响应为止。


此外再了解一些新的知识
(4).range()虽然返回的是一个整数列表,但不能直接进行赋值,例如a=range(10),而应该是a=list(range(10))

(5).用关键字lambda表示匿名函数,lambda x: x*x实际上就是:
def f(x):
return x * x
冒号前面的x表示函数参数。匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果;但用匿名函数也有个好处,因为函数没有名字,不必担心函数名冲突。此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数。

最后附上:


python标准异常.png
四月木棉红.JPG
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容