python爬取小说

运行结果:

代码:

 1 import requests
 2 from bs4 import BeautifulSoup
 3 from selenium import webdriver
 4 import os
 5
 6 class NovelSpider:
 7     def __init__(self):
 8         self.start_url = ‘https://www.biqukan.com/1_1680/‘
 9
10     def get_novel(self):
11         response = requests.get(self.start_url)
12         soup = BeautifulSoup(response.text, ‘html.parser‘)
13         div_chapter = soup.find(class_="listmain")
14         chapter_list = div_chapter.find_all(‘a‘)
15         chapter_list = chapter_list[12:]
16         chapter = []
17         chapter_num = len(chapter_list)
18         count = 0
19         print(‘《凡人修仙传仙界篇》开始下载:‘)
20         for cl in chapter_list:
21             chapter_dict = {}
22             chapter_name = cl.get_text()
23             chapter_dict[‘name‘] = chapter_name
24             chapter_url = cl.get(‘href‘)
25             chapter_dict[‘value‘] = ‘https://www.biqukan.com‘ + chapter_url
26             if chapter_dict not in chapter:
27                 chapter.append(chapter_dict)
28             print(f"已下载:{count}/{chapter_num}")
29             self.download_novel(chapter_dict)
30             count += 1
31
32     def parse_novel(self, url):
33         browser = webdriver.PhantomJS(executable_path=r‘F:\Spider\novelSpider\phantomjs.exe‘)
34         browser.get(url)
35         soup = BeautifulSoup(browser.page_source, ‘html.parser‘)
36         find_txt = soup.find(class_=‘showtxt‘)
37         # print(type(find_txt.get_text()))
38         return find_txt.get_text()
39
40     def download_novel(self, data):
41         filename = data[‘name‘]
42         url = data[‘value‘]
43         txt = self.parse_novel(url)
44
45         path = r"F:\Spider\novelSpider"
46         isExists = os.path.exists(path)
47         if not isExists:
48             os.mkdir(path)
49         else:
50             pass
51
52         with open(path + f‘\凡人修仙传仙界篇.txt‘, ‘a‘, encoding=‘utf-8‘) as f:
53             f.write(f‘{filename}\n\n‘)
54             f.write(txt)
55             f.write(‘\n======\n\n‘)
56             f.close()
57
58 if __name__ == ‘__main__‘:
59     ns = NovelSpider()
60     ns.get_novel()

原文地址:https://www.cnblogs.com/huanghuangwei/p/11997460.html

时间: 2024-11-12 15:35:06

python爬取小说的相关文章

Python 爬取小说——《唐朝小闲人 》

# 爬取小说:唐朝小闲人 # 导入需要用到的库 import requestsimport osimport reimport timeimport random # 查看源网页 beginurl = 'https://www.sbiquge.com/2_2523/' # 目录网页 ## 爬取各章网页 url_response = requests.get(beginurl).text                 #目录网页的源代码url_regex = '<a href ="/2_2

用python爬取小说章节内容

在学爬虫之前, 最好有一些html基础, 才能更好的分析网页. 主要是五步: 1.  获取链接 2. 正则匹配 3. 获取内容 4. 处理内容 5. 写入文件 代码如下: 1 #导入相关model 2 from bs4 import BeautifulSoup 3 import requests 4 import re 5 6 #获取目标链接地址 7 url = 'http://www.biquyun.com/0_292/' 8 reponse = requests.get(url) 9 rep

python入门学习之Python爬取最新笔趣阁小说

Python爬取新笔趣阁小说,并保存到TXT文件中      我写的这篇文章,是利用Python爬取小说编写的程序,这是我学习Python爬虫当中自己独立写的第一个程序,中途也遇到了一些困难,但是最后迎刃而解了.这个程序非常的简单,程序的大概就是先获取网页的源代码,然后在网页的源代码中提取每个章节的url,获取之后,在通过每个url去获取文章的内容,在进行提取内容,然后就是保存到本地,一TXT的文件类型保存.大概是这样1:获取网页源代码2:获取每章的url3:获取每章的内容4:下载保存文件中 1

Python实战项目网络爬虫 之 爬取小说吧小说正文

本次实战项目适合,有一定Python语法知识的小白学员.本人也是根据一些网上的资料,自己摸索编写的内容.有不明白的童鞋,欢迎提问. 目的:爬取百度小说吧中的原创小说<猎奇师>部分小说内容 链接:http://tieba.baidu.com/p/4792877734 首先,自己定义一个类,方便使用.其实类就像一个"水果篮",这个"水果篮"里有很多的"水果",也就是我们类里面定义的变量啊,函数啊等等,各种各样的.每一种"水果&q

Python爬虫:爬取小说并存储到数据库

爬取小说网站的小说,并保存到数据库 第一步:先获取小说内容 #!/usr/bin/python # -*- coding: UTF-8 -*- import urllib2,re domain = 'http://www.quanshu.net' headers = {     "User-Agent": "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrom

python爬虫——爬取小说 | 探索白子画和花千骨的爱恨情仇(转载)

转载出处:药少敏   ,感谢原作者清晰的讲解思路! 下述代码是我通过自己互联网搜索和拜读完此篇文章之后写出的具有同样效果的爬虫代码: 1 from bs4 import BeautifulSoup 2 import requests 3 4 if __name__ == '__main__': 5 html = requests.get('http://www.136book.com/huaqiangu/') 6 soup = BeautifulSoup(html.content, 'lxml'

Python 爬取笔趣阁小说

最近在学习 Python,觉得爬虫很好玩,今天我准备爬取我看了至少三遍的小说<雪中悍刀行>,作者是烽火戏诸侯,他的小说很有才华,有着很多的粉丝,但他很多部小说都处于断更状态,因此人称大内总管. 我准备爬取小说的网站是新笔趣阁,这里一个盗版网站,是名门正派的眼中钉,不过对于我这种不想交钱看小说的人,没资格评论它,这个网站连载的小说更新的还是比较快的,内容都是和正版的内容一模一样.好了,废话不多说了,下面开始放代码: 我在抓取小说内容时先用了 requests 库来抓取,结果就抓到了一章小说的开头

用Python爬取网页上的小说,让你从此告别书荒!

人生苦短,我用Python.有道爱看小说的小伙伴们,在看小说的期间总会遇到那么一段书荒期,在这段期间想看书却找不到,要么就是要VIP,要么就是下载不了.所以学会爬取网站上的小说是很有必要的,今天就以爬取笔趣阁小说为例,进行网页上小说的爬取.首先当我们打开笔趣阁的网页时,我们会看到很多的小说列表,如下图所示: ? 就拿爬取图上所示的小说来说,我们要进行以下的几个步骤: 爬取小说首先要构建请求表头: ? 然后我们的获取下载链接: ? 接下来我们进行文章内容的爬取: ? 最后我们将爬取来的小说写入到文

多线程爬取小说时如何保证章节的顺序

前言 爬取小说时,以每一个章节为一个线程进行爬取,如果不加以控制的话,保存的时候各个章节之间的顺序会乱掉. 当然,这里说的是一本小说保存为单个txt文件,如果以每个章节为一个txt文件,自然不会存在这种情况. 不仅仅是小说,一些其他的数据在多线程爬取时也有类似情况,比如: 漫画:漫画其实是由大量图片组成,一般一本漫画会保存为一个pdf文件,在此过程要保证图片的顺序. 视频:现在网络上的视频大部分是由多个ts文件拼合,最后保存为一个mp4文件,要保证ts文件的顺序. 它们都有一个共同的特点,那就是