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通过pil模块获得图片exif信息的方法
Mar 16 Python
python实现在控制台输入密码不显示的方法
Jul 02 Python
python文件的md5加密方法
Apr 06 Python
Python tkinter模块弹出窗口及传值回到主窗口操作详解
Jul 28 Python
Python实现上下班抢个顺风单脚本
Feb 07 Python
解决Pycharm出现的部分快捷键无效问题
Oct 22 Python
python中使用ctypes调用so传参设置遇到的问题及解决方法
Jun 19 Python
python 类的继承 实例方法.静态方法.类方法的代码解析
Aug 23 Python
Python 日志logging模块用法简单示例
Oct 18 Python
pygame实现烟雨蒙蒙下彩虹雨
Nov 11 Python
pytorch实现特殊的Module--Sqeuential三种写法
Jan 15 Python
Pytorch中的学习率衰减及其用法详解
Jun 05 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和XSL stylesheets转换XML文档
2006/10/09 PHP
简单的php 验证图片生成函数
2009/05/21 PHP
smarty模板判断数组为空的方法
2015/06/10 PHP
php 后端实现JWT认证方法示例
2018/09/04 PHP
laravel利用中间件防止未登录用户直接访问后台的方法
2019/09/30 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
提高代码性能技巧谈—以创建千行表格为例
2006/07/01 Javascript
jquery获取div宽度的实现思路与代码
2013/01/13 Javascript
Dom 学习总结以及实例的使用介绍
2013/04/24 Javascript
javascript中的=等号个数问题两个跟三个有什么区别
2013/10/23 Javascript
利用JS来控制键盘的上下左右键(示例代码)
2013/12/14 Javascript
javascript浏览器兼容教程之事件处理
2014/06/09 Javascript
AngularJs 指令详解及示例代码
2016/09/01 Javascript
jQuery中$.ajax()方法参数解析
2016/10/22 Javascript
DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
2016/11/09 Javascript
React创建组件的三种方式及其区别
2017/01/12 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
js实现前端图片上传即时预览功能
2017/08/02 Javascript
webuploader分片上传的实现代码(前后端分离)
2018/09/10 Javascript
node中IO以及定时器优先级详解
2019/05/10 Javascript
layui 动态设置checbox 选中状态的例子
2019/09/02 Javascript
Python中类的继承代码实例
2014/10/28 Python
Python3.X 线程中信号量的使用方法示例
2017/07/24 Python
Python K最近邻从原理到实现的方法
2019/08/15 Python
wxPython多个窗口的基本结构
2019/11/19 Python
python中openpyxl和xlsxwriter对Excel的操作方法
2021/03/01 Python
html5使用canvas画一条线
2014/12/15 HTML / CSS
Electric官网:美国高级眼镜和配件品牌
2020/06/04 全球购物
通信工程专业个人找工作求职信范文
2013/09/21 职场文书
校长竞聘演讲稿
2014/05/16 职场文书
社区巾帼文明岗事迹材料
2014/06/03 职场文书
公司经理任命书
2014/06/05 职场文书
知识竞赛拉拉队口号
2014/06/16 职场文书
青春励志演讲稿范文
2014/08/25 职场文书
商务宴请邀请函范文
2015/02/02 职场文书
2015年节能减排工作总结
2015/05/14 职场文书