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 相关文章推荐
Windows下Python使用Pandas模块操作Excel文件的教程
May 31 Python
python算法演练_One Rule 算法(详解)
May 17 Python
Python探索之SocketServer详解
Oct 28 Python
Python探索之实现一个简单的HTTP服务器
Oct 28 Python
Python字符串、整数、和浮点型数相互转换实例
Aug 04 Python
Python 最强编辑器详细使用指南(PyCharm )
Sep 16 Python
Python获取时间戳代码实例
Sep 24 Python
Python 函数绘图及函数图像微分与积分
Nov 20 Python
django ajax发送post请求的两种方法
Jan 05 Python
python3将变量写入SQL语句的实现方式
Mar 02 Python
20行Python代码实现视频字符化功能
Apr 13 Python
Python中glob库实现文件名的匹配
Jun 18 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
php json_encode()函数返回json数据实例代码
2014/10/10 PHP
php基于单例模式封装mysql类完整实例
2016/10/18 PHP
PHP递归的三种常用方式
2019/02/28 PHP
ThinkPHP框架整合微信支付之刷卡模式图文详解
2019/04/10 PHP
JavaScript脚本性能的优化方法
2007/02/02 Javascript
JavaScript 指导方针
2007/04/05 Javascript
用Javascript同时提交多个Web表单的方法
2009/12/26 Javascript
capacityFixed 基于jquery的类似于新浪微博新消息提示的定位框
2011/05/24 Javascript
javascript跑马灯悬停放大效果实现代码
2012/12/12 Javascript
通过url查找a元素并点击
2014/04/09 Javascript
wap图片滚动特效无css3元素纯js脚本编写
2014/08/22 Javascript
jquery简单实现图片切换效果的方法
2015/05/12 Javascript
Jquery实现弹性滑块滑动选择数值插件
2015/08/08 Javascript
jquery插件EasyUI中form表单提交实例分享
2016/01/11 Javascript
特殊日期提示功能的实现方法
2016/06/16 Javascript
Bootstrap实现下拉菜单多级联动
2017/11/23 Javascript
nodejs 日志模块winston的使用方法
2018/05/02 NodeJs
微信小程序使用gitee进行版本管理
2018/09/20 Javascript
JS 获取文件后缀,判断文件类型(比如是否为图片格式)
2020/05/09 Javascript
Python内置的HTTP协议服务器SimpleHTTPServer使用指南
2016/03/30 Python
Python找出list中最常出现元素的方法
2016/06/14 Python
ML神器:sklearn的快速使用及入门
2019/07/11 Python
django Admin文档生成器使用详解
2019/07/22 Python
详解pandas使用drop_duplicates去除DataFrame重复项参数
2019/08/01 Python
python中加背景音乐如何操作
2020/07/19 Python
Django日志及中间件模块应用案例
2020/09/10 Python
基于Python爬取搜狐证券股票过程解析
2020/11/18 Python
Python tkinter之Bind(绑定事件)的使用示例
2021/02/05 Python
requests在python中发送请求的实例讲解
2021/02/17 Python
美国价格实惠的在线眼镜网站:Zeelool
2020/12/25 全球购物
大学生简单自荐信
2013/11/10 职场文书
拓展培训心得体会
2014/01/04 职场文书
幼儿园元旦亲子活动方案
2014/02/17 职场文书
聘用意向书
2014/07/29 职场文书
中职毕业生自我鉴定
2014/09/13 职场文书
退休教师追悼词
2015/06/23 职场文书