python爬虫入门教程之糗百图片爬虫代码分享


Posted in Python onSeptember 02, 2014

学习python少不了写爬虫,不仅能以点带面地学习、练习使用python,爬虫本身也是有用且有趣的,大量重复性的下载、统计工作完全可以写一个爬虫程序完成。

用python写爬虫需要python的基础知识、涉及网络的几个模块、正则表达式、文件操作等知识。昨天在网上学习了一下,写了一个爬虫自动下载「糗事百科」里面的图片。源代码如下:

# -*- coding: utf-8 -*- 

# 上面那句让代码里支持中文
#---------------------------------------  

#   程序:糗百图片爬虫  

#   版本:0.1  

#   作者:赵伟  

#   日期:2013-07-25  

#   语言:Python 2.7  

#   说明:能设置下载的页数。没有做更多抽象和交互方面的优化。  

#---------------------------------------
import urllib2

import urllib

import re
#正则表达式,用来抓取图片的地址

pat = re.compile('<div class="thumb">\\n<img src=\"(ht.*?)\".*?>')
#用来合成网页的URL

nexturl1 = "http://m.qiushibaike.com/imgrank/page/"

nexturl2 = "?s=4582487&slow"
#页数计数

count = 1
#设置抓取的页数

while count < 3:
    print "Page " + str(count) + "\n"

    myurl = nexturl1 + str(count) + nexturl2

    myres = urllib2.urlopen(myurl)#抓取网页

    mypage = myres.read()#读取网页内容

    ucpage = mypage.decode("utf-8") #转码
    mat = pat.findall(ucpage)#用正则表达式抓取图片地址

        

    count += 1;

    

    if len(mat):

        for item in mat:

            print "url: " + item + "\n"

            fnp = re.compile('/(\w+\.\w+)$')#下面三行分离出图片文件的名称

            fnr = fnp.findall(item)

            fname = fnr[0]

            urllib.urlretrieve(item, fname)#下载图片

      

    else:

        print "no data"

使用方法:新建一个practice文件夹,将源代码保存为qb.py文件,并放在practice文件夹中,在命令行里执行python qb.py,即开始下载图片。可以修改源代码里面的while语句设置下载的页数。

Python 相关文章推荐
Python安装Imaging报错:The _imaging C module is not installed问题解决方法
Aug 22 Python
Python的Flask开发框架简单上手笔记
Nov 16 Python
pandas将DataFrame的列变成行索引的方法
Apr 10 Python
利用numpy和pandas处理csv文件中的时间方法
Apr 19 Python
python2.x实现人民币转大写人民币
Jun 20 Python
python机器学习之KNN分类算法
Aug 29 Python
pycharm运行出现ImportError:No module named的解决方法
Oct 13 Python
Python操作Sqlite正确实现方法解析
Feb 05 Python
Python3标准库之functools管理函数的工具详解
Feb 27 Python
python tkinter GUI绘制,以及点击更新显示图片代码
Mar 14 Python
详细介绍python类及类的用法
May 31 Python
常用的Python代码调试工具总结
Jun 23 Python
python批量同步web服务器代码核心程序
Sep 01 #Python
寻找网站后台地址的python脚本
Sep 01 #Python
python批量修改文件名的实现代码
Sep 01 #Python
python中List的sort方法指南
Sep 01 #Python
Python抓取京东图书评论数据
Aug 31 #Python
Python深入学习之内存管理
Aug 31 #Python
Python深入学习之装饰器
Aug 31 #Python
You might like
php中ftp_chdir与ftp_cdup函数用法
2014/11/18 PHP
基于php实现七牛抓取远程图片
2015/12/01 PHP
PHP curl批处理及多请求并发实现方法分析
2018/08/15 PHP
使用Zookeeper分布式部署PHP应用程序
2019/03/15 PHP
JQuery实现自定义对话框的代码
2008/06/15 Javascript
jquery autocomplete自动完成插件的的使用方法
2010/08/07 Javascript
DB.ASP 用Javascript写ASP很灵活很好用很easy
2011/07/31 Javascript
Jquery之Ajax运用 学习运用篇
2011/09/26 Javascript
Extjs单独定义各组件的实例代码
2013/06/25 Javascript
Jquery的hide及toggle方法让超链接慢慢消失
2013/09/06 Javascript
Jquery 复选框取值兼容FF和IE8(测试有效)
2013/10/29 Javascript
jquery实现弹出层遮罩效果的简单实例
2014/03/03 Javascript
jQuery实用函数用法总结
2014/08/29 Javascript
jQuery取得iframe中元素的常用方法详解
2016/01/14 Javascript
浅析JavaScript中的array数组类型系统
2016/07/18 Javascript
PHP捕捉异常中断的方法
2016/10/24 Javascript
利用Query+bootstrap和js两种方式实现日期选择器
2017/01/10 Javascript
Vue组件中slot的用法
2018/01/30 Javascript
解决vue+elementui项目打包后样式变化问题
2020/08/03 Javascript
Python列表(list)常用操作方法小结
2015/02/02 Python
Python计算两个日期相差天数的方法示例
2017/05/23 Python
apache部署python程序出现503错误的解决方法
2017/07/24 Python
wxPython实现窗口用图片做背景
2018/04/25 Python
python 实时得到cpu和内存的使用情况方法
2018/06/11 Python
详解python中递归函数
2019/04/16 Python
使用Python脚本从文件读取数据代码实例
2020/01/19 Python
史蒂夫·马登加拿大官网:Steve Madden加拿大
2017/11/18 全球购物
芝加哥牛排公司:Chicago Steak Company
2018/10/31 全球购物
旅游网创业计划书
2014/01/31 职场文书
出纳员的岗位职责
2014/02/22 职场文书
参观接待方案
2014/03/17 职场文书
职位说明书范文
2014/05/07 职场文书
思想作风纪律整顿心得体会
2014/09/04 职场文书
房屋所有权证明
2014/10/20 职场文书
分家协议书范本
2016/03/22 职场文书
Python爬虫基础之爬虫的分类知识总结
2021/05/13 Python