码迷,mamicode.com
首页 > 编程语言 > 详细

Python项目之我的第一个爬虫----爬取豆瓣图书网,统计图书数量

时间:2016-09-30 00:41:35      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:

 

 

今天,花了一个晚上的时间边学边做,搞出了我的第一个爬虫。学习Python有两个月了,期间断断续续,但是始终放弃,今天搞了一个小项目,有种丰收的喜悦。废话不说了,直接附上我的全部代码。

 1 # -*- coding:utf-8 -*-
 2 __author__ = Young
 3 
 4 import re,urllib  #urllib : 网页访问,返回网页的数据、内容
 5 def my_get(ID):# 封装成函数方便调用
 6     html = urllib.urlopen("https://read.douban.com/ebooks/tag/%E5%B0%8F%E8%AF%B4/?cat=book&sort=top&start="+str(ID))# urllib.urlopen() 打开豆瓣读书的网页   str(ID)--方便页面切换
 7     html = html.read()# 解析返回内容
 8     reg = r<span class="price-tag ">(.*?)元</span><a href=".*?" target="_blank" class="btn btn-icon ">试读</a></div><a data-target-dialog="login" href="#" class="require-login btn btn-info btn-cart "><i class="icon-cart"></i><span class="btn-text">加入购物车</span></a></div><div class="title"><a href=".*?" onclick="moreurl\(this, {&#39;aid&#39;: &#39;.*?&#39;, &#39;src&#39;: &#39;tag&#39;}, true, \‘read.douban.com\‘\)">(.*?)</a>
 9     reg = re.compile(reg)
10     rel = re.findall(reg,html)  # rel是二维列表
11     return rel
12 
13 ID = 0
14 price = 0
15 fn = open(rG:\13_Python-Files\douban.txt,"a")# 存放数据的文件的存放地址  a 表示 可以向文件中追加写入
16 while ID<=80:# 根不同页的网址分析得出规律,此处爬取前4页的内容
17     my_list = my_get(ID)# my_list - 存放返回结果
18     for i in my_list:
19         fn.write("书名:%s-----------价格:%s\n" %(i[1],i[0]))
20         price += float(i[0])# 价格是浮点型
21         ID += 1#图书技术
22         print i[0],i[1]
23         print ID
24 fn.write("数量:%s\t总价:%s\t平均单价:%s\n" % (ID,price,"%.2f"%(price/ID)))
25 fn.close()#最后不要忘记关闭文件

 

结果截图如下:

技术分享

技术分享

 

 缺憾:有部分数据被漏掉了,继续找原因中

 

Python项目之我的第一个爬虫----爬取豆瓣图书网,统计图书数量

标签:

原文地址:http://www.cnblogs.com/Bro-Young/p/5921135.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!