基于python 爬虫爬到含空格的url的处理方法


Posted in Python onMay 11, 2018

道友问我的一个问题,之前确实没遇见过,在此记录一下。

问题描述

在某网站主页提取url进行迭代,爬虫请求主页时没有问题,返回正常,但是在访问在主页提取到的url时出现了400状态码(400 Bad Request)。

结论

先贴出结论来,如果url里有空格的话,要把空格替换成%20,也就是url编码,否则就会出现400。

解决过程

首先百度了一下400状态码什么意思:

400页面是当用户在打开网页时,返回给用户界面带有400提示符的页面。其含义是你访问的页面域名不存在或者请求错误。

主要有两种形式:

1、bad request意思是“错误的请求”;

2、invalid hostname意思是”不存在的域名”。

所以说问题应该是出在了url上,我怀疑是他的url提取逻辑有问题,于是让他把url打印一下看看,他说看不出什么问题。

然后我就把他代码要了过来,自己调调试试,发现前几个子url是访问正常的,但是其中一个出现了400,那个url如下:

http://www.qichacha.com/company_getinfos?unique=4d5ad1bc15ddc4ad9873e5b0ff4f93d3&companyname=意大利C.D.VIDEO S.P.A.深圳代表处&tab=base

下面是一个访问正常的url:

http://www.qichacha.com/company_getinfos?unique=f6aa78d2e9f4b0bc98103785f96c1353&companyname=深圳市联得自动化装备股份有限公司&tab=base

我首先把这个url复制到浏览器,发现可以正常访问,然后就留神了一下浏览器上url的变化,发现空格变成了%20,在代码里把url中的空格都替换成%20后,

程序访问也正常了。

问题解决。

启示

以后做爬虫,对于不可预测的不规律的请求,在发请求之前先把url进行url编码,以免出现这种错误。

这篇基于python 爬虫爬到含空格的url的处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python Django连接MySQL数据库做增删改查
Nov 07 Python
Python中使用第三方库xlrd来读取Excel示例
Apr 05 Python
Python判断列表是否已排序的各种方法及其性能分析
Jun 20 Python
Python实现Youku视频批量下载功能
Mar 14 Python
python 表达式和语句及for、while循环练习实例
Jul 07 Python
Python星号*与**用法分析
Feb 02 Python
Django 使用logging打印日志的实例
Apr 28 Python
Python3.5 + sklearn利用SVM自动识别字母验证码方法示例
May 10 Python
将python安装信息加入注册表的示例
Nov 20 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
Apr 13 Python
使用Python操作MySQL的小技巧
Sep 10 Python
python 提高开发效率的5个小技巧
Oct 19 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
May 11 #Python
解决Python网页爬虫之中文乱码问题
May 11 #Python
解决python爬虫中有中文的url问题
May 11 #Python
利用Python yagmail三行代码实现发送邮件
May 11 #Python
解决Pandas to_json()中文乱码,转化为json数组的问题
May 10 #Python
解决python3 json数据包含中文的读写问题
May 10 #Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
May 10 #Python
You might like
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
2013/08/07 PHP
PHP常用函数之格式化时间操作示例
2019/10/21 PHP
javascript实现的一个随机点名功能
2014/08/26 Javascript
原生JS实现仿淘宝网左侧商品分类菜单效果代码
2015/09/10 Javascript
基于javascript显示当前时间以及倒计时功能
2016/03/18 Javascript
jQuery 实现评论等级好评差评特效
2016/05/06 Javascript
JS加载iFrame出现空白问题的解决办法
2016/05/13 Javascript
Angular2内置指令NgFor和NgIf详解
2016/08/03 Javascript
vue2.0开发实践总结之入门篇
2016/12/06 Javascript
MUI 上拉刷新/下拉加载功能实例代码
2017/04/13 Javascript
使用Require.js封装原生js轮播图的实现代码
2017/06/15 Javascript
基于Vue实现页面切换左右滑动效果
2020/06/29 Javascript
React 无状态组件(Stateless Component) 与高阶组件
2018/08/14 Javascript
详解koa2学习中使用 async 、await、promise解决异步的问题
2018/11/13 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
2019/01/24 Javascript
Android 兼容性问题:java.lang.UnsupportedOperationException解决办法
2017/03/19 Python
python学习必备知识汇总
2017/09/08 Python
python语言中with as的用法使用详解
2018/02/23 Python
有关Python的22个编程技巧
2018/08/29 Python
Python数据类型之Number数字操作实例详解
2019/05/08 Python
Python学习笔记之For循环用法详解
2019/08/14 Python
python 日志模块 日志等级设置失效的解决方案
2020/05/26 Python
Python爬虫分析微博热搜关键词的实现代码
2021/02/22 Python
5分钟弄清楚html5的drag and drop(小结)
2019/04/10 HTML / CSS
英国在线自行车店:Merlin Cycles
2018/08/20 全球购物
毕业生个人投资创业计划书
2014/01/04 职场文书
师范学院美术系毕业生自我鉴定
2014/01/29 职场文书
12月小学生校园广播稿
2014/02/04 职场文书
初中生自我鉴定
2014/02/04 职场文书
实践单位评语
2014/04/26 职场文书
2015年教务主任工作总结
2015/07/22 职场文书
预备党员入党感想
2015/08/10 职场文书
Django操作cookie的实现
2021/05/26 Python
基于PyQt5制作一个群发邮件工具
2022/04/08 Python
Python实现仓库管理系统
2022/05/30 Python
python index() 与 rindex() 方法的使用示例详解
2022/12/24 Python