爬取新笔趣阁小说
上次写了一个爬取诗词名句网的小说后,发现爬虫很有意思,且我也是一个小说迷,作为学生党资金有限,经常去笔趣阁看小说,就试着写了一个爬取新笔趣阁小说的Python爬虫,因没有经过专业学习,所以还有很多不足,请见谅!
**下面是我的代码,每一步都有相应的注释**
import urllib.request
import requests
from bs4 import BeautifulSoup
import re
import time
#请求头
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 \
(KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362'
}
url="https://www.xsbiquge.com/78_78513/" #小说所在地址
req=urllib.request.urlopen(url).read().decode('utf8')
res= r'<dd><a href=(.*?)>'
urls=re.findall(res,req)#正则找到href
f = open('G://元尊.txt', 'a', encoding='utf8') #建文件夹,地址可以改
f.write('元尊') #写入小说名字
a=int(len(urls)) #由于urls是一个列表,得到长度
for i in range(a):
urls1=urls[i] #取出herf
sq = urls1.replace('\"', "")#替换掉urls1两端的引号
urlls='https://www.xxbiquge.com/'+sq #拼凑章节url
# 对URL发起请求
s1 = requests.Session()
r1 = s1.get(urlls,headers=headers)
r1.encoding = 'utf-8'
ren = r'<meta name="keywords" content="(.*?)" />'
name = re.findall(ren, r1.text)[0] #正则得到章节名name
# 用BeautifulSOUP提取出章节内容
request = urllib.request.urlopen(urlls).read().decode('utf8')
soup = BeautifulSoup( request, 'lxml')
ao = soup.find('div', id="content")
lists=ao.get_text()
f.write('\n'*4+'\t'*6+name+'\n'*2+lists) #写入章节内容#
print('正在下载 '+name+'.......')
time.sleep(1)#延时请求
print("下载完成")
f.close()
由于还在学习中,所以程序看着有点乱,下面是运行结果: