python 小说爬虫_初次尝试python爬虫,爬取小说网站的小说。

本次是小阿鹏,第一次通过python爬虫去爬一个小说网站的小说。

下面直接上菜。

1.首先我需要导入相应的包,这里我采用了第三方模块的架包,requests。requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多,因为是第三方库,所以使用前需要cmd安装。

cmd安装方式,打开cmd,输入以下命令:

pip install requests

2.添加相应的包后,我们需要一个小说链接去爬下这本小说也就是一个url。下面是我当时爬的小说url:http://www.shujy.com/5200/244309/

3.我们现在有了小说的链接,这时候就要模拟浏览器发送http的请求:

response=requests.get(url)

response.encoding='gbk'

4.我们可以尝试获取目标小说的网页源码

html=response.text

我们把它打印出来看下:

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy8xNDgyMDMwLzIwMTkwOC8xNDgyMDMwLTIwMTkwODE1MDgxMzMxNDI4LTQyOTY3NDY3NC5wbmc=.jpg

有html基础的朋友应该对这些很熟悉。通过打印我们可以看见小说的名字,作者,以及小说章节的url。这时候我们就先通过HTML网页源码获取小说的名字:

title=re.findall(r'',html)[0]

从上面的代码我们可以看见是通过正则表达式去匹配的,对正则表达式有疑问的同学可以自行百度下。当然不同网站的具体小说名字可能会放在不同的标签里,需要我们打开网页源码去看看下。

5.这时候我们也就新建一个文本文件来保存小说内容。

fb=open('%s.txt'% title,'w',encoding='utf-8')

这时候我们需要获取小说的章节目录对应的url,我们还是来观察下网页的源码。我们通过火狐浏览器的f12看下网页可发现:

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy8xNDgyMDMwLzIwMTkwOC8xNDgyMDMwLTIwMTkwODE1MDgyOTM0MTI2LTE0MzExMDg1MjAucG5n.jpg

小说的章节目标都在标签

里我们通过下面的代码获取对应的章节名和url。用一个list来存放章节信息。

dl=re.findall(r'

.*?
',html,re.S)[0]

chapter_info_list=re.findall(r'(.*?)',dl)

6.这个时候我们循环每一章节,分别下载,先把章节的链接,章节名提取出来。

for chapter_info in chapter_info_list:

chapter_url,chapter_title=chapter_info

chapter_url="http://www.shujy.com/5200/244309/%s " % chapter_url

chapter_url=chapter_url.replace(' ','')

我们可以看见对章节的链接进行的拼接,因为我们可以看见直接提取出来的链接是这样的:

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy8xNDgyMDMwLzIwMTkwOC8xNDgyMDMwLTIwMTkwODE1MTA0MjM2MzEyLTEzMzY5OTA2MjQucG5n.jpg

所以也就需要一个拼接的操作,取得完整的章节链接。

这个时候来下载小说内容:

chapter_response=requests.get(chapter_url,headers=headers)

chapter_response.encoding='gbk'

chapter_html=chapter_response.text

我们先是获取到小说具体章节的页面。打开具体小说章节f12查看网页的源码:

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy8xNDgyMDMwLzIwMTkwOC8xNDgyMDMwLTIwMTkwODE1MTA0ODAyMDc1LTEwMzg4NTU5OC5wbmc=.jpg

可以清楚的看见小说的具体内容是在标签

里,和获取小说章节一样我们采用正则表达式来取得小说的内容。

chapter_content=re.findall(r'

(.*?)
',chapter_html,re.S)[0]

我们把获取到的小说的内容打印出来看看,

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy8xNDgyMDMwLzIwMTkwOC8xNDgyMDMwLTIwMTkwODE1MTA1NDI4MTI4LTEyMTY1MDMxOTkucG5n.jpg

我们看见一些奇怪的字符&nbsp,
等,我们在实际的小说里没有这些东西,这里就需要我们处理数据。进行一些操作,也叫做数据的清洗。

chapter_content=chapter_content.replace(' ','')

chapter_content=chapter_content.replace('
','')

chapter_content=chapter_content.replace('&t;','')

清洗后的小说内容:

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy8xNDgyMDMwLzIwMTkwOC8xNDgyMDMwLTIwMTkwODE1MTA1OTExOTA0LTEzMDQ5NTk1MDYucG5n.jpg

7.现在就是最后一步把小说保存到本地。

fb.write(chapter_title)

fb.write('\n')

fb.write(chapter_content)

fb.write('\n')

print(chapter_url,chapter_title)

我们来看下最后的结果,我们每爬完一章打印相应的章节链接信息和返回的response信息来看是否成功爬取:

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy8xNDgyMDMwLzIwMTkwOC8xNDgyMDMwLTIwMTkwODE1MTEwOTM0MTkzLTE0MTA5NTU0MTEucG5n.jpg

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy8xNDgyMDMwLzIwMTkwOC8xNDgyMDMwLTIwMTkwODE1MTEwMTUyNzkxLTEzNjMyMzYyMi5wbmc=.jpg

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy8xNDgyMDMwLzIwMTkwOC8xNDgyMDMwLTIwMTkwODE1MTExMDQzMDcwLTEzNzg0NTg1MDAucG5n.jpg

当当当当,成功的爬下了这边小说。

最后总结下,本次的爬虫就很简单是小阿鹏的初次尝试,中间如果有不对的地方也希望大家的指正,谢谢!

python爬虫--爬取某网站电影下载地址

前言:因为自己还是python世界的一名小学生,还有很多路要走,所以本文以目的为向导,达到目的即可,对于那些我自己都没弄懂的原理,不做去做过多解释,以免误人子弟,大家可以网上搜索. 友情提示:本代码用 ...

python爬虫--爬取某网站电影信息并写入mysql数据库

书接上文,前文最后提到将爬取的电影信息写入数据库,以方便查看,今天就具体实现. 首先还是上代码: # -*- coding:utf-8 -*- import requests import re im ...

Python爬虫爬取全书网小说,程序源码+程序详细分析

Python爬虫爬取全书网小说教程 第一步:打开谷歌浏览器,搜索全书网,然后再点击你想下载的小说,进入图一页面后点击F12选择Network,如果没有内容按F5刷新一下 点击Network之后出现如下 ...

Python爬虫|爬取喜马拉雅音频

"GOOD Python爬虫|爬取喜马拉雅音频 喜马拉雅是知名的专业的音频分享平台,用户规模突破4.8亿,汇集了有声小说,有声读物,儿童睡前故事,相声小品等数亿条音频,成为国内发展最快.规模 ...

用Python爬虫爬取广州大学教务系统的成绩(内网访问)

用Python爬虫爬取广州大学教务系统的成绩(内网访问) 在进行爬取前,首先要了解: 1.什么是CSS选择器? 每一条css样式定义由两部分组成,形式如下: [code] 选择器{样式} [/code ...

使用Python爬虫爬取网络美女图片

代码地址如下:http://www.demodashi.com/demo/13500.html 准备工作 安装python3.6 略 安装requests库(用于请求静态页面) pip install ...

python爬虫—爬取英文名以及正则表达式的介绍

python爬虫—爬取英文名以及正则表达式的介绍 爬取英文名: 一.  爬虫模块详细设计 (1)整体思路 对于本次爬取英文名数据的爬虫实现,我的思路是先将A-Z所有英文名的连接爬取出来,保存在一个cs ...

Python爬虫 - 爬取百度html代码前200行

Python爬虫 - 爬取百度html代码前200行 - 改进版,  增加了对字符串的.strip()处理 源代码如下: # 改进版, 增加了 .strip()方法的使用 # coding=utf-8 ...

python爬虫爬取内容中,-xa0,-u3000的含义

python爬虫爬取内容中,-xa0,-u3000的含义 - CSDN博客 https://blog.csdn.net/aiwuzhi12/article/details/54866310

一个简单的python爬虫,爬取知乎

一个简单的python爬虫,爬取知乎 主要实现 爬取一个收藏夹 里 所有问题答案下的 图片 文字信息暂未收录,可自行实现,比图片更简单 具体代码里有详细注释,请自行阅读 项目源码: # -*- cod ...

随机推荐

EditText添加了ImageSpan后,在两者中间不能输入纯文本

严格来说是连续插入两个ImageSpan之后,在其中间不能够输入纯文本内容. 最后发现问题出现在了SpannableString在设置ImageSpan的时候第四个参数flag的问题. spannab ...

初识html5 File API实现带有进度提示的文件上传

Html5终于解决了上传文件的同时显示文件上传进度的老问题.现在大部分的网站用Flash去实现这一功能,还有一些网站继续采用Html

with enctype=multipar ...

android的ArrayMap类

运行的时候出现: java.lang.NoClassDefFoundError: android.util.ArrayMap http://stackoverflow.com/questions/24 ...

artDialog.js的使用

开发项目中用到了artDialog.js,从而专门学习一下如何配置和使用. 一.artDialog是什么 artDialog是一个精巧的web对话框组件,压缩后只有十多KB,并且不依赖其他框架. 二. ...

基于Jquery easyui 选中特定的tab并更新

获取选中的 Tab // 获取选中的 tab panel 和它的 tab 对象 var pp = $('#tt').tabs('getSelected'); var tab = pp.panel('o ...

node.js入门(三)调式

1.安装调式工具 打开命令行工具,输入以下内容,然后回车. npm install -g node-inspector 等待安装成功呢后,我们就可以使用 node-debug 文件名 这个命令来调式我 ...

ASP.NET WebApi 使用Swagger生成接口文档

前言 公司一直采用Word文档方式与客户端进行交流.随着时间的推移,接口变的越来越多,文档变得也很繁重.而且一份文档经常由多个开发人员维护,很难保证文档的完整性.而且有时写完代码也忘了去更新文档,为了 ...

Linux改变语言设置的命令

--Linux语言设置--------------2013/09/22Linux中语言的设置和本地化设置真是一个很繁琐的事情,时不时的会出现乱码的情况,在这篇文章中讨论的是shell中出现乱码的一些解 ...

(转)JavaScript的压缩

JavaScript的压缩 (转自)http://blog.csdn.net/ybygjy/article/details/6995435 简述 如果非常着急,这块可以跳过直接从约束条件开始也行. J ...

比较两个Excle表格的修改内容

//输入参数为文件输入流public static Map> excelColumn2maplist(InputStream is){ ...

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 取微博数据是指通过爬取微博网站上的内容,获取用户在微博上发布的各种信息,包括文字、图片、视频等。爬取微博数据的方式可以使用Python编程语言中的爬虫技术来实现。 Python爬虫是一种自动获取网页内容的技术,通过模拟浏览器行为,可以获取网页上的数据。对于微博数据的爬取,可以通过Python爬取微博官方API接口或者直接爬取微博网页上的内容。 爬取微博数据需要首先进行身份认证和授权,获取访问权限。然后,可以通过API接口或者请求微博网页,获取微博网站上的数据。可以将数据保存在数据库中,或者直接进行分析和处理。 爬取到的微博数据可以用于各种目的,如数据开发、微博分析等。数据开发是指对爬取到的数据进行清洗、整理和存储,以便后续的数据分析和应用。微博分析则是对微博数据进行统计和分析,了解用户的行为和趋势,找出有价值的信息。 对于爬取的微博数据,可以通过可视化的方式呈现,以更直观地展示数据的分布和变化趋势。可视化可以使用各种Python的数据可视化库,如matplotlib、seaborn等,制作各种图表、图像和地图等,提供更好的数据展示效果。 总结来说,通过Python编程语言中的爬虫技术,可以取得微博数据并进行数据开发、微博分析和可视化处理,从中获取有价值的信息。 ### 回答2: 取微博数据是指使用爬虫技术从微博平台上抓取用户的相关信息,通过获取微博的内容、点赞数、转发数、评论数等数据,并进行可视化分析以及数据开发,以了解用户行为和趋势。 在这个过程中,可以使用Python编写爬虫程序来自动化地访问微博网站并获取所需数据。爬虫程序可以模拟用户登录微博,搜索关键词或用户,获取相关微博内容,并提取所需的数据信息。 通过爬取的微博数据,可以进行数据开发,包括数据清洗、处理以及存储。数据清洗是指对原始数据进行去除噪声、格式转换、去重等操作,以保证数据的准确性和一致性。数据处理是指对清洗后的数据进行加工处理,如对文字进行分词、提取关键词等。数据存储则是将处理后的数据以合适的格式保存在数据库或文件中,以备后续使用。 除了数据开发,还可以进行微博数据的可视化分析。通过使用数据可视化工具和库,将微博数据转化为图表、地图、词云等可视化形式,从而更直观地展示数据的分布和趋势。通过分析微博数据可视化结果,可以发现用户关注的热点话题、用户行为模式等信息,为企业和个人提供决策参考。 总之,通过取微博数据并进行可视化分析以及数据开发,我们可以深入了解用户行为和趋势,为企业和个人提供更有针对性的决策和推广策略。同时,这也为数据分析领域的研究和应用提供了丰富的资源和实践案例。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值