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 相关文章推荐
在Django的模型中添加自定义方法的示例
Jul 21 Python
Python画图学习入门教程
Jul 01 Python
pandas 数据实现行间计算的方法
Jun 08 Python
python求最大连续子数组的和
Jul 07 Python
python版opencv摄像头人脸实时检测方法
Aug 03 Python
使用matplotlib中scatter方法画散点图
Mar 19 Python
解决python flask中config配置管理的问题
Jul 26 Python
Python 共享变量加锁、释放详解
Aug 28 Python
Django REST框架创建一个简单的Api实例讲解
Nov 05 Python
django 中使用DateTime常用的时间查询方式
Dec 03 Python
如何用Matplotlib 画三维图的示例代码
Jul 28 Python
python中的split、rsplit、splitlines用法说明
Oct 23 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
一些星际专用术语解释
2020/03/04 星际争霸
PHP对象链式操作实现原理分析
2016/10/09 PHP
Gambit vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
Javascript中封装window.open解决不兼容问题
2014/09/28 Javascript
jQuery学习笔记之基础中的基础
2015/01/19 Javascript
jQuery实现360°全景拖动展示
2015/03/18 Javascript
js实现Select头像选择实时预览代码
2015/08/17 Javascript
jQuery无刷新上传之uploadify3.1简单使用
2016/06/18 Javascript
JS HTML5实现拖拽移动列表效果
2020/08/27 Javascript
jQuery post数据至ashx实例详解
2016/11/18 Javascript
vue生成随机验证码的示例代码
2017/09/29 Javascript
微信小程序页面生命周期详解
2018/01/31 Javascript
微信小程序支付PHP代码
2018/08/23 Javascript
微信小程序实现简易table表格
2020/06/19 Javascript
vue2.0+SVG实现音乐播放圆形进度条组件
2019/09/21 Javascript
javascript设计模式 ? 桥接模式原理与应用实例分析
2020/04/13 Javascript
JS获取一个字符串中指定字符串第n次出现的位置
2021/02/10 Javascript
[19:15]DK战队纪录片
2014/09/02 DOTA
python获得linux下所有挂载点(mount points)的方法
2015/04/29 Python
python中模块查找的原理与方法详解
2017/08/11 Python
Python中用psycopg2模块操作PostgreSQL方法
2017/11/28 Python
python提取具有某种特定字符串的行数据方法
2018/12/11 Python
python批量处理文件或文件夹
2020/07/28 Python
Python3.7安装keras和TensorFlow的教程图解
2020/06/18 Python
Tensorflow训练模型越来越慢的2种解决方案
2020/02/07 Python
通过python调用adb命令对App进行性能测试方式
2020/04/23 Python
Python使用Numpy模块读取文件并绘制图片
2020/05/13 Python
浅谈Python中的模块
2020/06/10 Python
哥伦比亚最大的网上商店:Linio哥伦比亚
2016/09/25 全球购物
高级工程师英文求职信
2014/03/19 职场文书
商铺租赁意向书
2014/04/01 职场文书
促销活动总结范文
2014/04/30 职场文书
无财产无子女离婚协议书范文
2014/09/14 职场文书
镇人大副主席民主生活会对照检查材料思想汇报
2014/10/01 职场文书
人事局接收函
2015/01/31 职场文书
python自动化操作之动态验证码、滑动验证码的降噪和识别
2021/08/30 Python