学习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 = ""
#页数计数
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语句设置下载的页数。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
更新日志
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]