python3.4爬虫demo

 更新时间:2019年01月22日 10:27:15   作者:chenqiangdage  
今天小编就为大家分享一篇关于python3.4爬虫demo,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

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和JavaScript通信

    python和JavaScript通信

    这篇文章主要介绍了python和JavaScript通信,js和python是两种语言,js处理网页数据,python可作为服务端开发,两者通过websocket进行通信,下文具体操作内容需要的小伙伴可以参考一下
    2022-04-04
  • Django框架中间件定义与使用方法案例分析

    Django框架中间件定义与使用方法案例分析

    这篇文章主要介绍了Django框架中间件定义与使用方法,结合具体案例形式分析了Django框架中间件相关定义、原理、使用方法及操作注意事项,需要的朋友可以参考下
    2019-11-11
  • python中getattr函数使用方法 getattr实现工厂模式

    python中getattr函数使用方法 getattr实现工厂模式

    这篇文章主要介绍了python中getattr()这个函数的一些用法,大家参考使用吧
    2014-01-01
  • django中使用事务及接入支付宝支付功能

    django中使用事务及接入支付宝支付功能

    这篇文章主要介绍了django中使用事务以及接入支付宝支付功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • Python开发工具Pycharm的安装以及使用步骤总结

    Python开发工具Pycharm的安装以及使用步骤总结

    今天给大家带来的是关于Python开发工具的安装以及使用的相关知识,文章围绕着如何使用和安装Pycharm展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • Python pandas库中isnull函数使用方法

    Python pandas库中isnull函数使用方法

    这篇文章主要介绍了Python pandas库中isnull函数使用方法,python的pandas库中有⼀个⼗分便利的isnull()函数,它可以⽤来判断缺失值,具体介绍需要的小伙伴可以参考一下
    2022-06-06
  • python实现桌面壁纸切换功能

    python实现桌面壁纸切换功能

    这篇文章主要为大家详细介绍了python requests+pywin32实现桌面壁纸切换,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • 如何使用python对图片进行批量压缩详解

    如何使用python对图片进行批量压缩详解

    对于图片强行被定义高和宽会变形,我们希望图片被改变大小后,比例保持不变,完成对图片的压缩,下面这篇文章主要给大家介绍了关于如何使用python对图片进行批量压缩的相关资料,需要的朋友可以参考下
    2022-07-07
  • Django unittest 设置跳过某些case的方法

    Django unittest 设置跳过某些case的方法

    今天小编就为大家分享一篇Django unittest 设置跳过某些case的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • TensorFlow人工智能学习Keras高层接口应用示例

    TensorFlow人工智能学习Keras高层接口应用示例

    这篇文章主要为大家介绍了TensorFlow人工智能学习中Keras高层接口的应用示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-11-11

最新评论