python小说爬虫,完美运行

import random
import requests
import re

header = [{
    'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36'},
    {
        'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50'},
    {'User-Agent': 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)'},
    {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1'},
    {'User-Agent': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)'}]


# header 是用来伪装成浏览器发送请求,一般加上最好,header 信息可以通过浏览器查看,也可在网上搜索得到。

# 定义一个获取所有章节 URL 的函数
def get_url(url):
    req = requests.get(url, headers=header[random.randint(0, 4)])
    result = req.content
    result = result.decode('gbk')
    res = r'
(.*?)') # 取出文章的标题 text_re = re.compile(r'

([\s\S]*?)
') # 由于正文部分有很多的换行符,故要使用 [\s\S] title = re.findall(title_re, result1) # 找出标题 text1 = re.findall(text_re, result1) # 找出第第一部分的正文 # text2 = re.findall(text_re, result2) # 找出第第二部分的正文 title = title[0] # 由于返回的 title 是列表,故取出列表中的第一项 # print(title) # 打印出标题 # text1.append(text2[0]) # 把正文两个部分添加到同一列表中,方便处理 text1 = '\r\n'.join(text1) # 把两部分的正文连接成同一个个字符串 text1 = text1.split('\r\n') # 把字符串按照换行符分割 text_1 = [] # 添加一个空列表,用来装处理后的正文 text_1.append(title+'\n') for sentence in text1: sentence = sentence.strip() # 去掉每一句两边的空格 if ' ' in sentence: sentence = sentence.replace(' ', '') # 去掉句子中的   if '
' in sentence: # sentence = sentence.replace('
', '') # 去掉句子中的
text_1.append(sentence) else: text_1.append(sentence) elif '
' in sentence: sentence = sentence.replace('
', '') text_1.append(sentence) elif '-->>

本章未完,点击下一页继续阅读

' in sentence: sentence = sentence.replace(r'-->>

本章未完,点击下一页继续阅读

', '') # 去掉 -->>

本章未完,点击下一页继续阅读

text_1.append(sentence) else: text_1.append(sentence) count = text_1.count('') # 统计列表中的空字符串 for i in range(count): text_1.remove('') # 移除所有的空字符串 for sentence in text_1: print(str(sentence).replace(' ', '')) # 打印出所有的正文 # 打开一个文件 fo = open('C:/Users/admin/Desktop/books/大主宰.txt', "a") book=str(sentence).replace(' ', '') fo.write('\n'+book+'\n') # 关闭打开的文件 # fo.close() pass if __name__ == '__main__': #网址换到小说目录层,可以直接打开这个网址查看案例 url=get_url('https://www.biqukan.cc/book/20461/') book = getBook(url) print('下载完成!')

 

代码简单使用,下载完后直接用浏览器打开就行,自动就格式化了,可以不用调格式

你可能感兴趣的:(脚本)