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按照多个字符对字符串进行分割的方法
Mar 17 Python
python 调用HBase的简单实例
Dec 18 Python
Python scikit-learn 做线性回归的示例代码
Nov 01 Python
浅谈python正则的常用方法 覆盖范围70%以上
Mar 14 Python
Python实现八皇后问题示例代码
Dec 09 Python
Python 字符串、列表、元组的截取与切片操作示例
Sep 17 Python
python的range和linspace使用详解
Nov 27 Python
python tqdm 实现滚动条不上下滚动代码(保持一行内滚动)
Feb 19 Python
python输出第n个默尼森数的实现示例
Mar 08 Python
python能否java成为主流语言吗
Jun 22 Python
python如何用matplotlib创建三维图表
Jan 26 Python
教你用Python爬取英雄联盟皮肤原画
Jun 13 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
memcache命令启动参数中文解释
2014/01/13 PHP
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
iframe里面的元素触发父窗口元素事件的jquery代码
2014/10/19 Javascript
JQuery操作元素的css样式
2015/03/09 Javascript
JavaScript中的acos()方法使用详解
2015/06/14 Javascript
Node.js本地文件操作之文件拷贝与目录遍历的方法
2016/02/16 Javascript
用NODE.JS中的流编写工具是要注意的事项
2016/03/01 Javascript
JS实用技巧小结(屏蔽错误、div滚动条设置、背景图片位置等)
2016/06/16 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
vue中配置mint-ui报css错误问题的解决方法
2017/10/11 Javascript
Node对CommonJS的模块规范
2019/11/06 Javascript
使用Python实现下载网易云音乐的高清MV
2015/03/16 Python
在Python中使用第三方模块的教程
2015/04/27 Python
Python入门之后再看点什么好?
2018/03/05 Python
pycharm中使用anaconda部署python环境的方法步骤
2018/12/19 Python
Python基础之文件读取的讲解
2019/02/16 Python
Python动态语言与鸭子类型详解
2019/07/01 Python
Python虚拟环境的原理及使用详解
2019/07/02 Python
pandas基于时间序列的固定时间间隔求均值的方法
2019/07/04 Python
pygame实现烟雨蒙蒙下彩虹雨
2019/11/11 Python
python dataframe NaN处理方式
2019/12/26 Python
python飞机大战游戏实例讲解
2020/12/04 Python
在Pycharm中安装Pandas库方法(简单易懂)
2021/02/20 Python
多视角3D可旋转的HTML5 Logo动画
2016/03/02 HTML / CSS
Farnell德国:电子元器件供应商
2018/07/10 全球购物
英国折扣高尔夫商店:Discount Golf Store
2019/11/19 全球购物
亚洲在线旅行门户网站:Expedia.com.hk(智游网)
2020/04/14 全球购物
外企求职信范文分享
2013/12/31 职场文书
庆八一活动方案
2014/01/25 职场文书
给校长的建议书500字
2014/05/15 职场文书
2014年预备党员学习新党章思想汇报
2014/09/15 职场文书
2016年高校自主招生自荐信范文
2015/03/24 职场文书
《角的初步认识》教学反思
2016/02/17 职场文书
2019垃圾分类宣传口号汇总
2019/08/16 职场文书
Python网络编程之ZeroMQ知识总结
2021/04/25 Python
MongoDB修改oplog大小的四种方法
2022/04/11 MongoDB