打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
记练习Python3 urllib爬百度首页遭遇的坑

作者: 杭州-冬

地址:https://github.com/small99/deeptest/tree/master/第一期/杭州-冬

声明:本文已获作者授权转载,著作权归作者所有。

编辑:苦叶子

作者为开源优测-积微速成计划第一期参与者,每天都坚持学习,练习每日的代码任务

这是一个免费的组团成长计划

如何参与到开源优测-积微速成计划任务

记练习爬虫基础遭遇的坑

一、过程中的坑

爬百度首页时,获取不了html,只显示几行 

from urllib import request
import ssl

if name == "main":
   resp=request.Request('https://www.baidu.com')  
   #有时这里会出现decodeerrror,根据情况修改字符参数或者加个ignore                                            
   #默认第二个参数为strict--有时会造成错误    data=resp.read().decode('UTF-8')

   data=resp.read()    print(data)

执行后只是出现了下面几行简单的结果:

<script> location.replace(location.href.replace("https://","http://")); </script>

啥都没有 百度首页源代码那么多 只显示了这几行 而且似乎和百度首页的html没什么关系 查了下 一种说法是 那个noscript的东东起到了反爬的效果,所以我看不到html内容

后来我看别人的教程都可以,仔细对比后 我把https 改成 http 然后那个无比激动的看到了百度首页的html 了解到 访问https的网站时 大概是ssl这个东西作怪 该类型的网站都要经过安全认证

其实执行结果仔细看的话 也可以看出些问题  上面说了是http 而不是 https.

所以仔细分析提示很重要,不要提示都没搞清楚就各种搞
根据提示搞清原因很重要--能让你快速定位问题所在 快速解决问题
--看提示 仔细分析 定位问题
--各种可能都试一下,大胆推翻自己的的理解

第一个也是这几个月心得之一,今天再次让我心服口服。
刚开始提示啥的哪会看,后来犯错多了,发现提示的都是那几个东西,
想起以前怎么改的一路下去就正确了 其实这个提示我也看了,不过没太仔细而且理解错误,
我以为这是正常html的一部分 告诉读者会把输入的http 换成htts,
我一想也对,浏览器上面也是https。结果正好相反

二、编码问题

在爬一些网站有这个报错 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后直接忽视不能转换的数据

三、常见的一些错误提示 

req=request.Request(http://www.changshalib.cn) ^ SyntaxError: invalid syntax

--代码中有无效字符(非法或不符合规范),通常错误都在标注的 ^ 附近(也不一定哦)

IndentationError:unexpected indent

--这类通常你的代码缩进出现错误,找个好的编辑器,它会用整齐划一的线条给你一个标记。照着线条调整就好

[总计175篇]2017年测试技术精选大集合

开源优测

分享软件测试开源技术、经验、方案的首发平台

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
第一个Python爬虫程序
使用百度API实现语音识别——in python (2015
python实现的json数据以HTTP GET,POST,PUT,DELETE方式页面请求
利用百度、有道翻译API的在线翻译事例代码
Python开发之路(2)— 使用百度API实现语音识别
Python 3 抓取网页资源的 N 种方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服