作者: 杭州-冬
地址:https://github.com/small99/deeptest/tree/master/第一期/杭州-冬
声明:本文已获作者授权转载,著作权归作者所有。
编辑:苦叶子
作者为开源优测-积微速成计划第一期参与者,每天都坚持学习,练习每日的代码任务
这是一个免费的组团成长计划
记练习爬虫基础遭遇的坑
一、过程中的坑
爬百度首页时,获取不了html,只显示几行
执行后只是出现了下面几行简单的结果:
啥都没有 百度首页源代码那么多 只显示了这几行 而且似乎和百度首页的html没什么关系 查了下 一种说法是 那个noscript的东东起到了反爬的效果,所以我看不到html内容
后来我看别人的教程都可以,仔细对比后 我把https 改成 http 然后那个无比激动的看到了百度首页的html 了解到 访问https的网站时 大概是ssl这个东西作怪 该类型的网站都要经过安全认证
二、编码问题
在爬一些网站有这个报错 File "crawler_eg.py", line 10, in data=resp.read().decode('UTF-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb3 in position 126: invalid start byte
根据提示 解码错误 2个方法 --选择解码字符集错误 把utf-8换成其它字符集
或--字符集正确,但不属于字符集解码内容的部分数据转化出错 decode('utf-8','ignore')--默认第二个参数为strict,改为ignore后直接忽视不能转换的数据
三、常见的一些错误提示
--代码中有无效字符(非法或不符合规范),通常错误都在标注的 ^ 附近(也不一定哦)
IndentationError:unexpected indent
--这类通常你的代码缩进出现错误,找个好的编辑器,它会用整齐划一的线条给你一个标记。照着线条调整就好
领取专属 10元无门槛券
私享最新 技术干货