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科学计算环境推荐——Anaconda
Jun 30 Python
python基于xmlrpc实现二进制文件传输的方法
Jun 02 Python
Django中的“惰性翻译”方法的相关使用
Jul 27 Python
使用Python对SQLite数据库操作
Apr 06 Python
python 实现登录网页的操作方法
May 11 Python
Python图像处理之颜色的定义与使用分析
Jan 03 Python
Python Flask 搭建微信小程序后台详解
May 06 Python
Python 3 判断2个字典相同
Aug 06 Python
python+rsync精确同步指定格式文件
Aug 29 Python
Python JSON编解码方式原理详解
Jan 20 Python
Python自动化办公Excel模块openpyxl原理及用法解析
Nov 05 Python
python如何读取和存储dict()与.json格式文件
Jun 25 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图片裁剪函数(保持图像不变形)
2014/05/04 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
2014/12/26 PHP
php输出形式实例整理
2020/05/05 PHP
详解PHP中的8个魔术常量
2020/07/06 PHP
JS重要知识点小结
2011/11/06 Javascript
Js 回车换行处理的办法及replace方法应用
2013/01/24 Javascript
JS的数组迭代方法
2015/02/05 Javascript
jQuery操作动态生成的内容的方法
2016/05/28 Javascript
AngularJs 动态加载模块和依赖
2016/09/15 Javascript
获取今天,昨天,本周,上周,本月,上月时间(实例分享)
2017/01/04 Javascript
jQuery居中元素scrollleft计算方法示例
2017/01/16 Javascript
node中koa中间件机制详解
2017/08/22 Javascript
Angular5中调用第三方js插件的方法
2018/02/26 Javascript
改变layer confirm弹窗按钮的颜色方法
2019/09/12 Javascript
uni-app 组件里面获取元素宽高的实现
2019/12/27 Javascript
小程序分享链接onShareAppMessage的具体用法
2020/05/22 Javascript
在Django中同时使用多个配置文件的方法
2015/07/22 Python
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
2016/07/11 Python
利用python对Excel中的特定数据提取并写入新表的方法
2018/06/14 Python
python一键去抖音视频水印工具
2018/09/14 Python
Django如何实现密码错误报错提醒
2020/09/04 Python
详解java调用python的几种用法(看这篇就够了)
2020/12/10 Python
用Python制作音乐海报
2021/01/26 Python
Html5新特性用canvas标签画多条直线附效果截图
2014/06/30 HTML / CSS
Canvas系列之滤镜效果
2019/02/12 HTML / CSS
中国跨境电子商务网站:NewFrog
2018/03/10 全球购物
美国批发供应商:Kole Imports
2019/04/10 全球购物
通用求职信范文模板分享
2013/12/27 职场文书
餐厅筹备计划书
2014/04/25 职场文书
文明城市标语
2014/06/16 职场文书
搞笑车尾标语
2014/06/23 职场文书
爱的教育观后感
2015/06/17 职场文书
初三语文教学反思
2016/03/03 职场文书
MySQL获取所有分类的前N条记录
2021/05/07 MySQL
一文了解Java动态代理的原理及实现
2022/07/07 Java/Android
java实现web实时消息推送的七种方案
2022/07/23 Java/Android