python爬虫入门教程之糗百图片爬虫代码分享
2014-09-02 00:00
966 查看
学习python少不了写爬虫,不仅能以点带面地学习、练习使用python,爬虫本身也是有用且有趣的,大量重复性的下载、统计工作完全可以写一个爬虫程序完成。
用python写爬虫需要python的基础知识、涉及网络的几个模块、正则表达式、文件操作等知识。昨天在网上学习了一下,写了一个爬虫自动下载「糗事百科」里面的图片。源代码如下:
使用方法:新建一个practice文件夹,将源代码保存为qb.py文件,并放在practice文件夹中,在命令行里执行python qb.py,即开始下载图片。可以修改源代码里面的while语句设置下载的页数。
用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爬虫入门教程之点点美女图片爬虫代码分享
- python爬虫入门教程之点点美女图片爬虫代码分享
- 【教程】记录:python基础爬虫代码(下载妹子福利图片)
- 入门级别的Python爬虫代码 爬取百度上的图片
- [Python]网络爬虫(12):爬虫框架Scrapy的第一个爬虫示例入门教程
- Python爬虫教程——入门一之爬虫基础了解
- 零基础写python爬虫之抓取百度贴吧代码分享
- Python爬虫教程——入门七之正则表达式
- Python3.x爬虫教程:爬网页、爬图片、自动登录
- Python爬虫教程——入门一之综述
- [Python]网络爬虫(12):爬虫框架Scrapy的第一个爬虫示例入门教程
- [Python]网络爬虫(12):爬虫框架Scrapy的第一个爬虫示例入门教程
- Python爬虫教程——入门四之Urllib库的高级用法
- 【Python】爬虫入门--抓取网站图片
- Python爬虫框架Scrapy教程(1)—入门
- 零基础写python爬虫之抓取糗事百科代码分享
- python获取糗百图片代码实例
- [Python]网络爬虫(12):爬虫框架Scrapy的第一个爬虫示例入门教程
- Python实现爬取知乎神回复简单爬虫代码分享