python爬虫实战1
2013-07-15 01:13
369 查看
转载于:http://blog.csdn.net/dongnanyanhai/article/details/5552431
首先推荐一个网站:中医世家,这个网站上有很多关于中医的资料,光是提供的中医书籍就有317Mb,全都是CHM格式,资料非常全面。
正因为这个网站有这么多的好东西,但是我又懒得一本书一本书的下载,所以,我就……用Python直接解析了几个书籍下载页面的地址,把所有的书籍的下载地址都弄到手,顺便还下载了,呵呵呵,省得一个页面一个页面的打开!
这段代码中缺了对空格的检测,所以好几部关于中医的字典是没有被解析出来的,只能手工下了,不多!
首先推荐一个网站:中医世家,这个网站上有很多关于中医的资料,光是提供的中医书籍就有317Mb,全都是CHM格式,资料非常全面。
正因为这个网站有这么多的好东西,但是我又懒得一本书一本书的下载,所以,我就……用Python直接解析了几个书籍下载页面的地址,把所有的书籍的下载地址都弄到手,顺便还下载了,呵呵呵,省得一个页面一个页面的打开!
#!/usr/bin/env python #coding=utf-8 #这段代码是用来下载“中医世家”网站上的书籍的,很不好意思了! import urllib2,urllib,os from BeautifulSoup import BeautifulSoup #定义书籍链接列表 mainbooklink = ["http://www.zysj.com.cn/lilunshuji/1index.html", "http://www.zysj.com.cn/lilunshuji/5index.html", "http://www.zysj.com.cn/lilunshuji/20index.html", "http://www.zysj.com.cn/lilunshuji/25index.html"] bookdir = [u"d://book//中医教材//",u"d://book//中医著作//",u"d://book//实用手册//", u"d://book//西医备考//"] chmname = [] #chm电子书中文名字 chmbooklink = [] #对应chm的下载地址 #该函数实现获取一个地址后马上下载该书籍 def getbooklink(url): #检测url地址——暂时略了! #获取url地址的网页,并使用BeautifulSoup进行解析 page = urllib2.urlopen(url) soup = BeautifulSoup(page) #处理url,取得其前部地址,用以确定下面得到的地址的完全地址 #urllen = len(url) for i in soup('li'): #print i.a.string.encode('gb2312'),i.a['href'] chmfilename = i.a.string bookfilelink = "http://www.zysj.com.cn"+i.a['href'] page = urllib2.urlopen(bookfilelink) soup =BeautifulSoup(page) ti = u"下载电子书:"+chmfilename+".chm" for k in soup('a',title = ti): chmname.append(chmfilename+'.chm') downlink = "http://www.zysj.com.cn"+k['href'] chmbooklink.append(downlink) print chmfilename.encode('gb2312')+'.chm',downlink def downbook(filename,url,dirn): #urllib.urlretrieve(url, filename) if not os.path.exists(bookdir(dirn)): os.makedirs(bookdir(dirn)) print "开始下载:".decode('utf-8').encode('gb2312'),filename.encode('gb2312') filename = bookdir[dirn]+filename urllib.urlretrieve(url,filename) print "下载完成!".decode('utf-8').encode('gb2312') if __name__=="__main__": dirn = 0 for i in mainbooklink: getbooklink(i) for j in range(0,len(chmname)): downbook(chmname[j],chmbooklink[j],dirn) chmname = [] chmbooklink = [] dirn = dirn+1 """ 这一小段代码是用来学习查找字符串里面出现的某个字符的呃位置,我把所有的位置都取出来了,接下来想怎样就能怎样了! a ="http://www.zysj.com.cn/lilunshuji/1index.html" b = 0 c = len(a) while 1: b = a.find('/',b,c) print b b = b + 1 if b == 0: break """
这段代码中缺了对空格的检测,所以好几部关于中医的字典是没有被解析出来的,只能手工下了,不多!
相关文章推荐
- Python爬虫简单实战:抓取小猪短租西安市前五页民房数据
- Python爬虫实战:爬糗事百科的段子
- python爬虫selenium+firefox抓取动态网页--表情包爬虫实战
- Python爬虫实战之抓取淘宝MM照片(三)
- Python爬虫入门实战一
- Python爬虫实战之抓取淘宝MM照片(四)
- Python爬虫实战一:爬取糗事百科的文本段子
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第5章 scrapy爬取知名问答网站(2)
- Python爬虫实战:分析《战狼2》豆瓣影评
- Python爬虫入门实战八:数据储存——MongoDB与MySQL
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第1章 课程介绍
- python3 [爬虫入门实战]scrapy爬取盘多多五百万数据并存mongoDB
- python 爬虫3 新浪微博 爬虫 实战
- Python爬虫框架Scrapy实战 - 抓取BOSS直聘招聘信息
- python3[爬虫实战] 使用selenium,xpath爬取京东手机(下)
- Python 爬虫 —— 糗事百科爬虫实战
- Python3爬虫实战之爬取京东图书图片
- Python爬虫实战:将网页转换为pdf电子书
- Python爬虫入门实战系列(一)--爬取网络小说并存放至txt文件
- [python3]爬虫实战二之爬取百度贴吧帖子