python3.4爬虫demo


Posted in Python onJanuary 22, 2019

python 3.4 所写爬虫

仅仅是个demo,以百度图片首页图片为例。能跑出图片上的图片;

使用 eclipse pydev 编写:

from SpiderSimple.HtmLHelper import *
import imp
import sys
imp.reload(sys) 
#sys.setdefaultencoding('utf-8')  
html = getHtml('http://image.baidu.com/')
try:
  getImage(html)
  exit()
except Exception as e:
  print(e)

HtmlHelper.py文件 

上面的 SpiderSimple是自定义的包名

from urllib.request import urlopen,urlretrieve
#正则库
import re
#打开网页
def getHtml(url):
  page = urlopen(url)        
  html = page.read()
  return html
#用正则爬里面的图片地址  
def getImage(Html):
  try:
    #reg = r'src="(.+?\.jpg)" class'
    #image = re.compile(reg)  
    image = re.compile(r'<img[^>]*src[=\"\']+([^\"\']*)[\"\'][^>]*>', re.I)     
    Html = Html.decode('utf-8')
    imaglist = re.findall(image,Html)    
    x =0    
    for imagurl in imaglist:  
      #将图片一个个下载到项目所在文件夹     
      urlretrieve(imagurl, '%s.jpg' % x)
      x+=1 
  except Exception as e:
    print(e)

要注意个大问题,python 默认编码的问题。

有可能报UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128),错误。这个要设置python的默认编码为utf-8.

设置最好的方式是写bat文件,

echo off
set PYTHONIOENCODING=utf8
python -u %1

然后重启电脑。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
删除目录下相同文件的python代码(逐级优化)
May 25 Python
Python实现简单HTML表格解析的方法
Jun 15 Python
浅析Python中signal包的使用
Nov 13 Python
Swift 3.0在集合类数据结构上的一些新变化总结
Jul 11 Python
基于Python的关键字监控及告警
Jul 06 Python
python模块smtplib学习
May 22 Python
python调用java的jar包方法
Dec 15 Python
解决python flask中config配置管理的问题
Jul 26 Python
python 求10个数的平均数实例
Dec 16 Python
scrapy爬虫:scrapy.FormRequest中formdata参数详解
Apr 30 Python
python能自学吗
Jun 18 Python
Python 循环读取数据内存不足的解决方案
May 25 Python
使用Template格式化Python字符串的方法
Jan 22 #Python
python实现公司年会抽奖程序
Jan 22 #Python
对python函数签名的方法详解
Jan 22 #Python
python实现大转盘抽奖效果
Jan 22 #Python
Python函数返回不定数量的值方法
Jan 22 #Python
python实现转盘效果 python实现轮盘抽奖游戏
Jan 22 #Python
Python Pillow Image Invert
Jan 22 #Python
You might like
THINKPHP+JS实现缩放图片式截图的实现
2010/03/07 PHP
php5.3 废弃函数小结
2010/05/16 PHP
解析php中memcache的应用
2013/06/18 PHP
关于PHP通用返回值设置方法
2017/03/31 PHP
详解如何在云服务器上部署Laravel
2017/06/30 PHP
Laravel自定义 封装便捷返回Json数据格式的引用方法
2019/09/29 PHP
EasyUI中的tree用法介绍
2011/11/01 Javascript
关于递归运算的顺序测试代码
2011/11/30 Javascript
原生js实现跨浏览器获取鼠标按键的值
2013/04/08 Javascript
Jquery的hide及toggle方法让超链接慢慢消失
2013/09/06 Javascript
JavaScript返回网页中锚点数目的方法
2015/04/03 Javascript
js实现获取div坐标的方法
2015/11/16 Javascript
Bootstrap开发实战之第一次接触Bootstrap
2016/06/02 Javascript
jQuery插件扩展extend的简单实现原理
2016/06/24 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
2016/12/02 Javascript
javascript用rem来做响应式开发
2018/01/13 Javascript
react中fetch之cors跨域请求的实现方法
2018/03/14 Javascript
4个顶级开源JavaScript图表库
2018/09/29 Javascript
python函数返回多个值的示例方法
2013/12/04 Python
简单谈谈Python中的反转字符串问题
2016/10/24 Python
Python中类型检查的详细介绍
2017/02/13 Python
Python 多线程Threading初学教程
2017/08/22 Python
Django ORM框架的定时任务如何使用详解
2017/10/19 Python
SVM基本概念及Python实现代码
2017/12/27 Python
Tensorflow实现AlexNet卷积神经网络及运算时间评测
2018/05/24 Python
Python读取excel指定列生成指定sql脚本的方法
2018/11/28 Python
Python 给定的经纬度标注在地图上的实现方法
2019/07/05 Python
django之状态保持-使用redis存储session的例子
2019/07/28 Python
Python urlopen()和urlretrieve()用法解析
2020/01/07 Python
Python的Tqdm模块实现进度条配置
2021/02/24 Python
基于HTML5 FileSystem API的使用介绍
2013/04/24 HTML / CSS
详解HTML5中的picture元素响应式处理图片
2018/01/03 HTML / CSS
Pretty Little Thing爱尔兰:时尚女性服饰
2017/03/27 全球购物
俄语专业毕业生推荐信
2013/10/28 职场文书
学习党章的体会
2014/11/07 职场文书
yolov5返回坐标的方法实例
2022/03/17 Python