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 相关文章推荐
pycharm 使用心得(九)解决No Python interpreter selected的问题
Jun 06 Python
Python中使用hashlib模块处理算法的教程
Apr 28 Python
Python中第三方库Requests库的高级用法详解
Mar 12 Python
使用k8s部署Django项目的方法步骤
Jan 14 Python
Python列表切片操作实例总结
Feb 19 Python
python频繁写入文件时提速的方法
Jun 26 Python
PyCharm使用之配置SSH Interpreter的方法步骤
Dec 26 Python
在Mac中配置Python虚拟环境过程解析
Jun 22 Python
读取nii或nii.gz文件中的信息即输出图像操作
Jul 01 Python
python用字节处理文件实例讲解
Apr 13 Python
Python爬虫基础之初次使用scrapy爬虫实例
Jun 26 Python
python中出现invalid syntax报错的几种原因分析
Feb 12 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类Class的概念
2012/06/14 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
2013/10/16 PHP
php插入含有特殊符号数据的处理方法
2016/11/24 PHP
Laravel 批量更新多条数据的示例
2017/11/27 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
jquery获取当前点击对象的value方法
2014/02/28 Javascript
让table变成exls的示例代码
2014/03/24 Javascript
JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)
2014/10/17 Javascript
SyntaxHighlighter 3.0.83使用笔记
2015/01/26 Javascript
js实现缓冲运动效果的方法
2015/04/10 Javascript
JS+CSS实现的经典tab选项卡效果代码
2015/09/16 Javascript
H5用户注册表单页 注册模态框!
2016/09/17 Javascript
微信小程序 loading(加载中提示框)实例
2016/10/28 Javascript
利用JavaScript如何查询某个值是否数组内
2017/07/30 Javascript
JavaScript基础心法 数据类型
2018/03/05 Javascript
详解Angular5 路由传参的3种方法
2018/04/28 Javascript
Python实现生成简单的Makefile文件代码示例
2015/03/10 Python
Python中使用摄像头实现简单的延时摄影技术
2015/03/27 Python
Python判断字符串与大小写转换
2015/06/08 Python
Python编程中的文件操作攻略
2015/10/16 Python
python+django加载静态网页模板解析
2017/12/12 Python
python批量读取txt文件为DataFrame的方法
2018/04/03 Python
python 文本单词提取和词频统计的实例
2018/12/22 Python
Python实现查找字符串数组最长公共前缀示例
2019/03/27 Python
500行代码使用python写个微信小游戏飞机大战游戏
2019/10/16 Python
python中upper是做什么用的
2020/07/20 Python
全球摩托车装备领导者:RevZilla
2017/09/04 全球购物
儿子婚宴答谢词
2014/01/09 职场文书
研究生毕业自我鉴定范文
2014/03/27 职场文书
供货协议书范本
2014/04/22 职场文书
班组拓展活动方案
2014/08/14 职场文书
销售员未完成销售业绩的检讨书
2014/10/12 职场文书
2015年维修电工工作总结
2015/04/25 职场文书
导游词之山东孔庙
2019/11/04 职场文书
vue-router中hash模式与history模式的区别
2021/06/23 Vue.js
Pygame Draw绘图函数的具体使用
2021/11/17 Python