爬虫实战(一)爬取新笔趣阁小说1.0

新笔趣阁”只支持在线浏览,不支持小说打包下载。本次目的是下载一篇名为《伏天氏》的网络小说。

每天早上上班地铁上很多人都在看小说打发时间,我也是一个玄幻小说迷,那么就从写一个小说网站的爬虫开始吧。

在这里插入图片描述

在这里插入图片描述

可以开始了

爬虫大致分为三个步骤:
1、发起请求:我们需要先明确如何发起 HTTP 请求,获取到数据。
2、解析数据:获取到的数据乱七八糟的,我们需要提取出我们想要的数据。
3、保存数据:将我们想要的数据,保存下载

一、确定目标和思路
浏览网站之后做出如下打算:
爬虫功能:
1、输入要搜索的小说
2、跳到目标小说URL
3、按章节爬取
4、先按小说《伏天氏》来吧,觉都不是打广告啊,这小说我看了好久了,啥主角就爱装比,不建议大家看。

第一步提交要搜索的小说,并返回打印内容、

#!/usr/bin/python3
#_*_coding:utf-8_*_
#god_mellon
import requests
import re
book_name='伏天氏 '
url='https://www.xsbiquge.com/search.php?'+ 'keyword='+ book_name
print(url)
keyword=book_name
resp=requests.get(url)
print("请求状态:",resp.status_code)
print(resp.encoding) 
resp.encoding='utf-8'
resp=resp.text
#print(resp)


第二步:正则提取目标小说URL

pattern=re.compile(r'https://www.xsbiquge.com/\d{1,9}_\d{1,9}/')       ##正则抓取书名链接
book_url=pattern.search(resp).group()
print('获取到小说地址:',book_url)


运行结果:

https://www.xsbiquge.com/search.php?keyword=伏天氏 
请求状态: 200
utf-8
获取到小说地址: https://www.xsbiquge.com/9_9208/

第三步:获取小说章节

pattern2=re.compile(r'/\d{1,9}_\d{1,9}/\d{1,9}\.html')
chapters_url=pattern2.findall(resp2)
print(chapters_url)

运行结果:
在这里插入图片描述

第四步:先爬取一章小说内容

test_url='https://www.xsbiquge.com/9_9208/5095645.html'
test_resp=requests.get(test_url)
test_resp.encoding='utf-8'
test_resp=test_resp.text
#print(test_resp)
pattern3=re.compile(r'<div id="content">(.*)</div>')
text1=pattern3.findall(test_resp)
#print(text1)
text1=''.join(text1)             
pattern4=re.compile(r'<br />')    
text2_rm_br=pattern4.sub( '\n',text1)
#print(text2_rm_br)
pattern5=re.compile(r'&nbsp;')  
text3_rm_nbsp_br=pattern5.sub(' ',text2_rm_br)      ####替换空格
print(text3_rm_nbsp_br)

运行结果:

https://www.xsbiquge.com/search.php?keyword=伏天氏 
请求状态: 200
网页编码方式 utf-8
获取到小说地址: https://www.xsbiquge.com/9_9208/
正文开始:     神州历9999年秋,东海,青州城。

    青州学宫,青州城圣地,青州城豪门贵族以及宗门世家内半数以上的强者,都从青州学宫走出。

PS:还有很多需要完善的地方,接下来几天我会不断的改进优化。

更新:

2.0加了不少功能
地址:
点击这里跳转

想运行一下这个粗糙的脚本可以关注我底部的公众号回复“笔趣阁爬虫”获取

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值