python 爬qidian小说

  1 import re
  2 import urllib.request
  3 from bs4 import BeautifulSoup
  4 import time
  5
  6 url=input("第一章网址:")
  7
  8 def gethtml(url):
  9                                       #获取页面源代码html
 10     page=urllib.request.urlopen(url)
 11     html=page.read().decode(‘utf-8‘)  #html是一个列表
 12     soup=BeautifulSoup(html,‘html.parser‘)
 13
 14     return soup
 15
 16 def getcontent(soup,load):
 17
 18     content=soup.find_all("div",{"class":"read-content j_readContent"})
 19
 20     content1=re.compile(r‘<p>([\s\S]*?)</p>‘)       #匹配到段落内容
 21
 22     content2=content1.findall(str(content))
 23
 24     content3=re.sub("</?\w+[^>]*>",‘‘,content2[0])  #除掉html标签
 25
 26     content4=content3.replace(‘。‘,‘。\n\n\0\0\0‘)  #把以句号换位“。\n\n\0\0\0   两个换行符三个空格”            到此,将章节内容获取完毕
 27
 28     contentname=re.compile(r‘<h3 class="j_chapterName">(.*?)</h3>‘)
 29
 30     contentname1=contentname.findall(str(soup))     #获取章节名称
 31
 32     book="----------------------------------------------------------------"+contentname1[0]+"------------------------------------------------------------\n\n\n"+content4
 33
 34     with open(load, ‘a‘) as f:
 35
 36         f.write(book)
 37
 38
 39
 40 def nextcontent(soup):
 41
 42     content=soup.find_all("div",{"class":"chapter-control dib-wrap"})
 43
 44     #print(str(content))
 45
 46     step=re.compile(r‘<a data-eid="qd_R109" href="(.*?)" id="j_chapterNext">‘)
 47
 48     content1=step.findall(str(content))
 49
 50     if content1 == []:                         #判断该页是否为最后一章,是,获取最后一章(特殊)的url,不是,以常规方法获取下一章url
 51
 52         step1=re.compile(r‘<a data-eid="qd_R118" href="(.*?)" id="j_chapterNext">‘)
 53
 54         content2=step1.findall(str(content))
 55
 56         url="http:"+content2[0]
 57
 58         return url
 59     else:
 60         url="http:"+content1[0]
 61
 62         return url
 63
 64 def panduan(soup):
 65
 66     content=soup.find_all("div",{"class":"chapter-control dib-wrap"})
 67
 68     #print(str(content))
 69
 70     step=re.compile(r‘<a data-eid="qd_R109" href="(.*?)" id="j_chapterNext">‘)
 71
 72     content1=step.findall(str(content))
 73
 74     return content1
 75     #-------------------------------------------------------------------------
 76
 77
 78
 79     #-------------------------------------------------------------------------
 80
 81
 82 soup=gethtml(url)
 83 bookname=re.findall(r‘<h1>(.*?)</h1>‘ ,str(soup))          #匹配书名
 84
 85  86
 87 load="d:/88/%s.txt" % bookname[0]
 88 i=0
 89 while 1==1:
 90     soup=gethtml(url)
 91     getcontent(soup,load)
 92     url=nextcontent(soup)
 93     content1=panduan(soup)       #在该章里匹配下一章的url,若无法匹配到(输出为[]空),说明没有下一章
 94     i+=1
 95     print("第%d章下载完成" % i)
 96
 97     if content1 == []:             #
 98         break
 99
100     time.sleep(0.2)
101     
时间: 2024-10-13 19:42:20

python 爬qidian小说的相关文章

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爬取小说

运行结果: 代码: 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 = request

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,要么就是下载不了.所以学会爬取网站上的小说是很有必要的,今天就以爬取笔趣阁小说为例,进行网页上小说的爬取.首先当我们打开笔趣阁的网页时,我们会看到很多的小说列表,如下图所示: ? 就拿爬取图上所示的小说来说,我们要进行以下的几个步骤: 爬取小说首先要构建请求表头: ? 然后我们的获取下载链接: ? 接下来我们进行文章内容的爬取: ? 最后我们将爬取来的小说写入到文