python爬取小说项目概述_Python实战项目网络爬虫 之 爬取小说吧小说正文

本次实战项目适合,有一定Python语法知识的小白学员。本人也是根据一些网上的资料,自己摸索编写的内容。有不明白的童鞋,欢迎提问。

目的:爬取百度小说吧中的原创小说《猎奇师》部分小说内容

链接:http://tieba.baidu.com/p/4792877734

首先,自己定义一个类,方便使用。其实类就像一个“水果篮”,这个“水果篮”里有很多的“水果”,也就是我们类里面定义的变量啊,函数啊等等,各种各样的。每一种"水果"都有自己的独特的口味,也即是各个函数实现的功能各不相同。

然后,按照这个思路,既然要爬取小说,那么肯定要有目标网页的地址,也就是上面我给的那个连接。其实就像买水果之前,我们要找到水果店。

打开目标贴吧后,会发现里面有很多的贴子,有楼主发的,还有读者评论的,很多很杂。不过,没关系。度娘给了我们一个强大的功能,只看楼主。这就是我们的切入点。点击只看楼主按钮,哈哈,此时呈现在眼前的就是楼主的主要内容啦。

相应的,此时的网页也有所改变,地址上多了一个只看楼主的标记 http://tieba.baidu.com/p/4792877734?see_lz=1

所以,我们在定义类中的初始化函数时,就要有这个标记。

接下来,我们开始在选择不同口味的水果。我们要先获取网页的源代码,就需要有一个getPage的函数。函数里需要有我们的页码,注意我们选择不同也的小说,会发现,我们的地址也是有稍稍变动的,比如:第二页连接:http://tieba.baidu.com/p/4792877734?see_lz=1&pn=2     多了&pn=2。这个我们要整合一下。

(未完>>>>>>>>>明晚继续)

下面是我的代码:

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

2 importurllib3 importurllib24 importre5

6 #百度小说吧 原创小说《猎奇师》

7 #连接http://tieba.baidu.com/p/4792877734?see_lz=1

8 #第二页连接:http://tieba.baidu.com/p/4792877734?see_lz=1&pn=2

9 classLQS:10 def __init__(self,daseUrl,seeLZ):11 self.daseUrl =daseUrl12 self.seeLZ ='?see_lz=' +str(seeLZ)13 #传入页码,获取网页源代码

14 defgetPage(self,pageNum):15 try:16 #拼接,地址 + 楼主参数 + 页数

17 url = self.daseUrl + self.seeLZ + '&pn=' +str(pageNum)18 request =urllib2.Request(url)19 response =urllib2.urlopen(request)20 returnresponse.read()21 except Exception,e:#处理异常

22 printe23 #获取标题

24 defgetTitle(self,pageNum):25 html =self.getPage(pageNum)26 reg = re.compile(r'

【原创】恐怖故事 (.*?)_小说吧_百度贴吧')27 items =re.findall(reg,html)28 #将标题写入文件

29 for item initems:30 f = open('lqshi.txt','w') #文件名最好是英文,中文识别不了

31 f.write('标题' + '\t\t' +item)32 f.close()33 returnitems34 #获取正文

35 defgetContent(self,pageNum):36 html =self.getPage(pageNum)37 reg = re.compile(r'class="d_post_content j_d_post_content "> (.*?)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值