问题: Python爬虫运行正常,最后却报错

描述:

刚学Python,不明白,特来请教。

程序是爬取贴吧某个地址的图片,运行正常,图片也都下载下来了。

代码如下:import urllib.request

import re

response = urllib.request.urlopen("http://tieba.baidu.com/p/3646792267?fr=ala0&pstaala=2&tpl=5")

html = response.read().decode("utf-8")

a='src="(.*?\.jpg)"'

c=re.findall(a,html)

s=0

for i in c:

urllib.request.urlretrieve(i,"%s.png" % s)

s=s+1

然而在执行完毕报错:

Traceback (most recent call last):

File "E:/untitled/getpng.py", line 10, in

s=s+1

File "E:\Python\lib\urllib\request.py", line 187, in urlretrieve

with contextlib.closing(urlopen(url, data)) as fp:

File "E:\Python\lib\urllib\request.py", line 162, in urlopen

return opener.open(url, data, timeout)

File "E:\Python\lib\urllib\request.py", line 465, in open

response = self._open(req, data)

File "E:\Python\lib\urllib\request.py", line 483, in _open

'_open', req)

File "E:\Python\lib\urllib\request.py", line 443, in _call_chain

result = func(*args)

File "E:\Python\lib\urllib\request.py", line 1268, in http_open

return self.do_open(http.client.HTTPConnection, req)

File "E:\Python\lib\urllib\request.py", line 1240, in do_open

h.request(req.get_method(), req.selector, req.data, headers)

File "E:\Python\lib\http\client.py", line 1083, in request

self._send_request(method, url, body, headers)

File "E:\Python\lib\http\client.py", line 1118, in _send_request

self.putrequest(method, url, **skips)

File "E:\Python\lib\http\client.py", line 960, in putrequest

self._output(request.encode('ascii'))

UnicodeEncodeError: 'ascii' codec can't encode characters in position 263-268: ordinal not in range(128)

Process finished with exit code 1

大神解答一下这个是什么意思,万分感谢。

解决方案1:

用 try except 处理一下解决方案2:

把i打出来看看就知道了,因为有个.gif的图片,你的正则匹配出来url就不对了,url里有中文,没法用ascii编码序列化.

最好不要用正则去解析DOM,写个正确覆盖各种边边角角情况的正则也不是那么容易的。

python爬虫运行正常最后报错_Python爬虫运行正常,最后却报错相关推荐

  1. python后面空格报错_python中空格和table混用报错原因

    python是一门严格遵守缩进的语言,缩进的规则代表着程序的层级关系.我们来看一段代码.class MyForm(Form): value1 = StringField('value1') value ...

  2. python怎么把照片转成卡通_python用OpenCV转卡通照片报错,好像是pyrdown的使用有问题?...

    源代码如下:#-*-coding:utf-8-*-importcv2importosdefcartoonise(picture_name):imgInput_FileName=picture_name ...

  3. 复制出来 python -m pip install --upgrade pip 升级还是出现一堆红色英文,报错

    复制出来 python -m pip install --upgrade pip 升级还是出现一堆红色英文,报错 升级不成功,出现一堆红色英文解决办法 下载pip包时请求超时,使用默认的镜像源时间过长 ...

  4. 电脑安装pandas报错_python3.8下如何解决pandas报错No module named '_bz2'问题

    1 说明: ===== 1.1 不知道哪里出问题了,在使用pandas时报错,不能使用. Python 3.8.0 (default, Mar 18 2020, 21:36:59) [GCC 6.3. ...

  5. 【错误记录】反射内部类报错 ( Android 使用 Hook 时反射内部类报错 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 使用场景 : 需要 Hook 住 View 的 OnClickListener 点击方法 , 该监听器在 View 的内部类 ListenerInf ...

  6. 报错:启动apache服务时出现报错

    报错:启动apache服务时出现报错 [root@localhost init.d]# service httpd start 显示地址被占用 解决方法: 原来是博主之前启动过httpd服务,但是在手 ...

  7. cmd mvn compile报错_东芝Aquilion16 CT数据通讯报错故障分析与处理

    故障现象 东芝Aquilion16 CT 机器可以预热,扫描定位像正常.使用 S&S.S&V.Helical(3 种模式)扫描时,第 1 幅或者前几幅图像正常,从第 2 幅或者以后图像 ...

  8. python爬虫资源路径报错_python爬虫

    一.网络爬虫介绍 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成. 例如,百度.google搜索某关键字时,就是爬取整个互联网上的相关资源,给呈现出来. 实际爬 ...

  9. python爬虫常见报错_Python爬虫常见异常及解决办法

    文章目录1.selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome bina ...

最新文章

  1. php es6写法,ES6...扩展运算符(示例代码)
  2. java关闭ie提示_java 关闭IE
  3. win10+tensorflow import cv2 bug解决
  4. HSF服务注册失败,项目启动后,EDAS列表无法发现注册的服务
  5. 设计模式学习笔记——享元(Flyweight)模式
  6. java读取文件乱码
  7. 基于Java的学生会管理系统
  8. PTV-VISSIM交通仿真
  9. SDN免费快速获得积分和直接获取下载码的几个办法,亲测有效区
  10. 软件测试用例最简单最常见的模板和案例(QQ登陆,手机号,126邮箱)
  11. LG30刷小米系统_小米10 Pro 手机 安卓 11 Beta1 线刷包放出,附刷机教程
  12. 时标网络图怎么画?详解两大画法
  13. javaweb:servlet(3)
  14. null underfined NaN 判断
  15. 开源打通版-发布商品
  16. 600度近视眼恢复方法_近视孩子的家长看看:600度以上近视可致盲,不花钱恢复视力法...
  17. php 单笔转账到支付宝账户,php实现单笔转账到支付宝功能
  18. Office2016离线包下载
  19. 阿里云服务器的WebSocket压力测试报告
  20. GNS3 1.3.10安装使用详解

热门文章

  1. python分布式进程(windows下)
  2. 一、 Log4E插件下载
  3. c# datatable.select() 支持group by
  4. centos7下配置golang1.7.1环境(自己做测试了)
  5. sublime text实现函数跳转(window环境)
  6. 举例详解PHP归并排序的实现
  7. linux下Vim和Terminal配色
  8. promise使用promise进行判断网络状态
  9. MySQL索引面试题:优化 索引分类
  10. Go的结构体对接受者函数的传递