基于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操作MySQL数据库的方法分享
May 29 Python
Python中使用Inotify监控文件实例
Feb 14 Python
Python执行时间的计算方法小结
Mar 17 Python
python下载图片实现方法(超简单)
Jul 21 Python
解决python报错MemoryError的问题
Jun 26 Python
Python实现带参数的用户验证功能装饰器示例
Dec 14 Python
Python学习笔记之自定义函数用法详解
Jun 08 Python
对python中的float除法和整除法的实例详解
Jul 20 Python
使用pandas实现连续数据的离散化处理方式(分箱操作)
Nov 22 Python
如何使用PyCharm将代码上传到GitHub上(图文详解)
Apr 27 Python
tensorflow 大于某个值为1,小于为0的实例
Jun 30 Python
python使用requests库爬取拉勾网招聘信息的实现
Nov 20 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中文分词 自动获取关键词介绍
2012/11/13 PHP
Zend Framework教程之Zend_Registry对象用法分析
2016/03/22 PHP
Laravel中的Auth模块详解
2017/08/17 PHP
ThinkPHP 5.x远程命令执行漏洞复现
2019/09/23 PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
2020/07/24 PHP
脚本安需导入(装载)的三种模式的对比
2007/06/24 Javascript
JavaScript子窗口ModalDialog中操作父窗口对像
2012/12/11 Javascript
关于include标签导致js路径找不到的问题分析及解决
2013/07/09 Javascript
js之ActiveX控件使用说明 new ActiveXObject()
2014/03/03 Javascript
JavaScript基础知识点归纳(推荐)
2016/07/09 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
2016/09/17 Javascript
JavaScript用构造函数如何获取变量的类型名
2016/12/23 Javascript
jQuery实现简单漂亮的Nav导航菜单效果
2017/03/29 jQuery
浅谈mvvm-simple双向绑定简单实现
2018/04/18 Javascript
通过jquery的ajax请求本地的json文件方法
2018/08/08 jQuery
JavaScript变量基本使用方法实例分析
2019/11/15 Javascript
three.js欧拉角和四元数的使用方法
2020/07/26 Javascript
微信小程序实现点击导航条切换页面
2020/11/19 Javascript
python获取豆瓣电影简介代码分享
2014/01/16 Python
实例解析Python中的__new__特殊方法
2016/06/02 Python
python 异常处理总结
2016/10/18 Python
python放大图片和画方格实现算法
2018/03/30 Python
Python实现的读写json文件功能示例
2018/06/05 Python
NumPy 数学函数及代数运算的实现代码
2018/07/18 Python
python抓取需要扫微信登陆页面
2019/04/29 Python
解决tensorboard多个events文件显示紊乱的问题
2020/02/15 Python
python 用struct模块解决黏包问题
2020/11/07 Python
纯CSS3实现滚动的齿轮动画效果
2014/06/05 HTML / CSS
StubHub巴西:购买和出售您的门票
2016/07/22 全球购物
体育教学随笔感言
2014/02/24 职场文书
中等生评语大全
2014/05/04 职场文书
职位说明书范文
2014/05/07 职场文书
赞美老师的演讲稿
2014/05/22 职场文书
公司证明怎么写
2014/09/22 职场文书
2015年学校工作总结范文
2015/04/20 职场文书
Python写情书? 10行代码展示如何把情书写在她的照片里
2022/04/21 Python