爬虫实战(一)爬取新笔趣阁小说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' ')
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加了不少功能
地址:
点击这里跳转
想运行一下这个粗糙的脚本可以关注我底部的公众号回复“笔趣阁爬虫”获取
作者:那酒不要留
-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!知识源于分享!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!