【python】新手写的一个小说爬虫【天籁小说】
本帖最后由 tuhaojun 于 2020-9-18 21:32 编辑新手,学了两三天python,爬了个比较容易爬的小说网,笔趣阁有点坑。爬着爬着就505 不知道什么机制。
看了看别人学了两三天python跟我这个比起来 简直了{:1_911:}
请求大佬指点。
import requests
from bs4 import BeautifulSoup
import lxml
import re
#爬取天籁小说网小说
#url = 'https://www.23txt.com/files/article/html/60/60792/'
url = input('网址URL:\n本脚本仅支持天籁小说 \n类型:https://www.23txt.com/files/article/html/**/*****/ \n')
url_fix = input('类型:**/******/ \n')
req = requests.get (url)
req.encoding = 'GBK'
text = req.text
bf = BeautifulSoup (text,'lxml')
title = bf.find_all('div',id = 'info')
title = bf.find_all('h1')
title = title.text.replace ('h1',' ')
text_info = re.findall(r'<div id="list">.*?</div>',text,re.S)
text_info_list = re.findall (r'<dd><a href="/files/article/html/%s(.*?)">(.*?)</a>'% url_fix ,text_info)
for book in text_info_list:
text_url = book
text_name = book
text_download = url + text_url
reqs = requests.get(text_download)
reqs.encoding = 'GBK'
texts = reqs.text
texts_info = re.findall(r'<div id="content">(.*?)</div>',texts,re.S)
texts_info = texts_info.replace (' ',' ')
texts_info = texts_info.replace (';',' \n')
texts_info = texts_info.replace ('<br>',' ')
with open ('%s.txt'% title,'a+',encoding = 'GBK')as f:
f.write ('\n\n')
f.write (text_name)
f.write (texts_info)
f.write ('\n')
print (text_name)
print ('下载完成')
网址URL:
本脚本仅支持天籁小说
类型:https://www.23txt.com/files/article/html/**/*****/
https://www.23txt.com/files/article/html/60/60792/
类型:**/******/
60/60792/
Traceback (most recent call last):
File "D:/BaiduNetdiskDownload/pylearn/pctianlai/test.py", line 26, in <module>
texts_info = re.findall(r'<div id="content">(.*?)</div>', texts, re.S)
IndexError: list index out of range
阿龙心也好累呀 发表于 2020-9-22 20:30
笔趣阁应该是你爬取太快给检测到了 import time 每次循环停一下就好(我猜
是的今天又试了就笔趣阁有这毛病 加循环暂停更慢了,本来爬的就慢
不知道多线程+循环暂停这个方案行不行 沙发来一个 大佬 这个怎么用嗷 能不能用在ygbook 不错,加油 厉害厉害 EnD丶 发表于 2020-9-18 21:47
大佬 这个怎么用嗷 能不能用在ygbook
不清楚 没了解过这个东西 EnD丶 发表于 2020-9-18 21:47
大佬 这个怎么用嗷 能不能用在ygbook
直接复制代码去跑就行了 在网站找到想要的小说 复制书本首页URL直接跑码就行了 学习,感谢分享 正在学习中…… 大佬python安装教程有木有哦,一阵头大,谢谢