python爬取两个网站_爬取90%的网页,只需学会这13行爬虫通用代码框架——Python版!...

还有一种方法apparent_encoding,可以通过分析网页内容来得到编码,有时候网站没有头部标识时,为了能正常显示,一般常用 apparent_encoding 替代 encoding。

五、状态码异常

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2019%2F07%2F20%2F8e04b94ac49d459bbf3f004b729f12da.png&thumbnail=750x2147483647&quality=85&type=jpg

raise_for_status的作用就是返回一个异常错误requests.HTTPError,当不是200的时候;可以说,只要返回的不是200,都不算是访问成功!

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2019%2F07%2F20%2F398cd50783524fdf8f7b7b0f6720484a.png&thumbnail=750x2147483647&quality=85&type=jpg

我们用try……except语句来捕获异常;先执行try代码块里的语句,raise_for_status检测状态码不是200,就跳到except语句,返回一个提示。

六、完整代码

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2019%2F07%2F20%2F7c2d2e2850b24313a6c9f01a5195f986.png&thumbnail=750x2147483647&quality=85&type=jpg

整个代码的作用,就是输出指定网址的网页源代码。

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2019%2F07%2F20%2Fbb0ae71d2324430e9915691259f9c1d5.png&thumbnail=750x2147483647&quality=85&type=jpg

上图是我加了注释的代码。

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2019%2F07%2F20%2Fc2a1d64345074f42928729a20ca76131.png&thumbnail=750x2147483647&quality=85&type=jpg

为了使代码更强健,万一遇到网络问题,可以加个超时timeout秒数设定,只要超过设定值,就不再等待。这里的时间是包含连接connect和读取read的总时间,如果想让requests一直等下去,就设置为None。昨天我爬取小说,如果设置timeout,可能就不会宕机了。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值