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实现字典去除重复的方法示例
Jul 31 Python
python中in在list和dict中查找效率的对比分析
May 04 Python
python opencv实现图片旋转矩形分割
Jul 26 Python
Django中的ajax请求
Oct 19 Python
详解Python进阶之切片的误区与高级用法
Dec 24 Python
关于ZeroMQ 三种模式python3实现方式
Dec 23 Python
Pytorch 实现sobel算子的卷积操作详解
Jan 10 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
Jan 13 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
Mar 06 Python
Windows 平台做 Python 开发的最佳组合(推荐)
Jul 27 Python
详解python UDP 编程
Aug 24 Python
关于Python字符编码与二进制不得不说的一些事
Oct 04 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代码
2013/12/03 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
2016/10/18 PHP
Tab页界面,用jQuery及Ajax技术实现
2009/09/21 Javascript
Extjs中ComboBoxTree实现的下拉框树效果(自写)
2013/05/28 Javascript
js showModalDialog弹出窗口实例详解
2014/01/07 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
2014/11/13 Javascript
jquery实现聚光灯效果的方法
2015/02/06 Javascript
jQuery插件开发的五种形态小结
2015/03/04 Javascript
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
jQuery $.each遍历对象、数组用法实例
2015/04/16 Javascript
jQuery实现的仿select功能代码
2015/08/19 Javascript
js+canvas绘制五角星的方法
2016/01/28 Javascript
项目实践一图片上传之form表单还是base64前端图片压缩(前端图片压缩)
2016/07/28 Javascript
微信小程序 JS动态修改样式的实现代码
2017/02/10 Javascript
微信小程序动态添加分享数据
2017/06/14 Javascript
JavaScript实现简单评论功能
2017/08/17 Javascript
JS实现Cookie读、写、删除操作工具类示例
2018/08/28 Javascript
vue this.reload 方法 配置
2018/09/12 Javascript
vuex直接赋值的三种方法总结
2018/09/16 Javascript
Vue 实时监听窗口变化 windowresize的两种方法
2018/11/06 Javascript
详解vue-cli 3.0 build包太大导致首屏过长的解决方案
2018/11/10 Javascript
python爬虫实战之爬取京东商城实例教程
2017/04/24 Python
Python虚拟环境项目实例
2017/11/20 Python
Python3实现的爬虫爬取数据并存入mysql数据库操作示例
2018/06/06 Python
python判断字符串或者集合是否为空的实例
2019/01/23 Python
详解一种用django_cache实现分布式锁的方式
2019/09/01 Python
Python远程开发环境部署与调试过程图解
2019/12/09 Python
Pytorch 中的optimizer使用说明
2021/03/03 Python
CSS3 对过渡(transition)进行调速以及延时
2020/10/21 HTML / CSS
html5 冒号分隔符对齐的实现
2019/07/31 HTML / CSS
旅游安全协议书
2014/04/21 职场文书
借款协议书
2014/09/16 职场文书
工作粗心大意检讨书
2014/09/18 职场文书
2014年国庆节庆祝建国65周年比赛演讲稿
2014/09/21 职场文书
2014年无财产无子女离婚协议书范本
2014/10/09 职场文书
党的群众路线教育实践活动个人整改落实情况汇报
2014/10/28 职场文书