基于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连接PostgreSQL数据库的方法
Nov 28 Python
Pycharm编辑器技巧之自动导入模块详解
Jul 18 Python
Python操作Oracle数据库的简单方法和封装类实例
May 07 Python
python实现将汉字保存成文本的方法
Nov 16 Python
从运行效率与开发效率比较Python和C++
Dec 14 Python
Python将string转换到float的实例方法
Jul 29 Python
pytorch 修改预训练model实例
Jan 18 Python
Python threading.local代码实例及原理解析
Mar 16 Python
Python中zip函数如何使用
Jun 04 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
Jun 08 Python
Django模型验证器介绍与源码分析
Sep 08 Python
Python APScheduler执行使用方法详解
Dec 10 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面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
2009/09/30 PHP
Linux操作系统安装LAMP环境
2015/06/26 PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
2016/04/04 PHP
javascript tips提示框组件实现代码
2010/11/19 Javascript
UI Events 用户界面事件
2012/06/27 Javascript
javascript教程之不完整的继承(js原型链)
2014/01/13 Javascript
Bootstrap的modal拖动效果
2016/12/25 Javascript
EasyUI学习之Combobox下拉列表(1)
2016/12/29 Javascript
理解javascript中的闭包
2017/01/11 Javascript
用JavaScript实现让浏览器停止载入页面的方法
2017/01/19 Javascript
angular中的cookie读写方法
2017/08/02 Javascript
Webpack中雪碧图插件使用详解
2018/05/25 Javascript
对TypeScript库进行单元测试的方法
2019/07/18 Javascript
vue 实现强制类型转换 数字类型转为字符串
2019/11/07 Javascript
Angular8 简单表单验证的实现示例
2020/06/03 Javascript
详解JavaScript类型判断的四种方法
2020/10/21 Javascript
微信小程序自定义tabBar的踩坑实践记录
2020/11/06 Javascript
JS常用跨域方法实现原理解析
2020/12/09 Javascript
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python使用arp欺骗伪造网关的方法
2015/04/24 Python
Python实现的排列组合计算操作示例
2017/10/13 Python
Django基础知识与基本应用入门教程
2018/07/20 Python
pyqt5 QProgressBar清空进度条的实例
2019/06/21 Python
python使用SQLAlchemy操作MySQL
2020/01/02 Python
python2.7使用scapy发送syn实例
2020/05/05 Python
python里的单引号和双引号的有什么作用
2020/06/17 Python
Python unittest生成测试报告过程解析
2020/09/08 Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
2020/11/30 Python
澳大利亚领先的睡衣品牌:Peter Alexander
2016/08/16 全球购物
开会迟到检讨书
2014/01/08 职场文书
网上蛋糕店创业计划书
2014/01/24 职场文书
小学教师师德感言
2014/02/10 职场文书
新教师工作感言
2014/02/16 职场文书
交通事故协议书范文
2014/04/16 职场文书
大学本科生职业生涯规划书范文
2014/09/14 职场文书
催款函范文
2015/06/24 职场文书