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中的__slots__使用示例
Feb 26 Python
Python编写生成验证码的脚本的教程
May 04 Python
Python使用os模块和fileinput模块来操作文件目录
Jan 19 Python
Python基于matplotlib绘制栈式直方图的方法示例
Aug 09 Python
详谈python3中用for循环删除列表中元素的坑
Apr 19 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
Oct 23 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
Nov 19 Python
Python 内置函数globals()和locals()对比详解
Dec 23 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
Mar 28 Python
Django实现微信小程序支付的示例代码
Sep 03 Python
Python urllib3软件包的使用说明
Nov 18 Python
详解如何用Python实现感知器算法
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 操作文件的一些FAQ总结
2009/02/12 PHP
php导出CSV抽象类实例
2014/09/24 PHP
Yii2.0表关联查询实例分析
2016/07/18 PHP
IE6弹出“已终止操作”的解决办法
2010/11/27 Javascript
基于JQuery的一句话搞定手风琴菜单
2012/09/14 Javascript
javascript获取url上某个参数的方法
2013/11/08 Javascript
js post提交调用方法
2014/02/12 Javascript
js中的如何定位固定层的位置
2014/06/15 Javascript
JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)
2014/10/17 Javascript
jQuery学习笔记之2个小技巧
2015/01/19 Javascript
JavaScript实现点击自动选择TextArea文本的方法
2015/07/02 Javascript
JavaScript 中Date对象的格式化代码方法汇总
2017/09/06 Javascript
Three.js利用Detector.js插件如何实现兼容性检测详解
2017/09/26 Javascript
JavaScript引用类型Object常见用法实例分析
2018/08/08 Javascript
一步一步的了解webpack4的splitChunk插件(小结)
2018/09/17 Javascript
Vue使用NProgress的操作过程解析
2019/10/10 Javascript
Vue实现简易计算器
2020/02/25 Javascript
使用JavaScript实现贪吃蛇游戏
2020/09/29 Javascript
详解ES6中class的实现原理
2020/10/03 Javascript
[01:03]悬念揭晓 11月26日DOTA2完美盛典不见不散
2017/11/23 DOTA
python实现发送邮件功能
2017/07/22 Python
Python中分支语句与循环语句实例详解
2018/09/13 Python
python itchat实现调用微信接口的第三方模块方法
2019/06/11 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
2019/10/11 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
2020/08/24 Python
小学教师的自我评价范例
2013/10/31 职场文书
经理助理岗位职责
2014/03/05 职场文书
大学生村官承诺书
2014/03/28 职场文书
幼儿园新年寄语
2014/04/03 职场文书
毕业生自荐材料范文
2014/12/30 职场文书
辛亥革命观后感
2015/06/02 职场文书
胡桃夹子观后感
2015/06/11 职场文书
Python数据分析之pandas读取数据
2021/06/02 Python
Python自动化爬取天眼查数据的实现
2021/06/15 Python
为什么RedisCluster设计成16384个槽
2021/09/25 Redis
Java使用HttpClient实现文件下载
2022/08/14 Java/Android