思路,第一步小说介绍页获取章节地址,第二部访问具体章节,获取章节内容

具体如下:先获取下图章节地址

def stepa(value,headers):
lit=[]
response = requests.get(value, headers=headers)
html = etree.HTML(response.text)
url = html.xpath('//*[@id="chapterlist"]//@href')#获取每章地址
lit.append(url)
return(lit)
add=stepa(value,headers)
allurl=add[0]#去掉括号

上方代码可获取到下图红色区域内内容,即每一章节地址的变量部分,且全部存在脚本输出的集合中

第二部,循环访问集合中的章节地址,获取章节内容,同时逐行存储在对应章节命名的txt文件中

for link in allurl:
link = 'http://www.666wx.cc'+link#拼接地址,可访问
response = requests.get(link, headers=headers)
html = etree.HTML(response.text)
name = html.xpath('//*[@id="center"]/div[1]/h1/text()')#章节
name =name[0]
content = html.xpath('//*[@id="content"]/text()')#章节内容
for 内容 in content:
内容 = 内容.strip()#去掉每行后的换行符
with open(path+'\\'+str(name)+'.txt', 'a',encoding='utf-8') as w:
w.write(str(内容))
w.close()

生成的文件一览

txt内容

全部脚本

# -*-coding:utf8-*-
# encoding:utf-8
#本脚本爬取http://www.666wx.cc站小说
import requests
from lxml import etree
import os
import sys
import re headers = {
'authority': 'cl.bc53.xyz',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'sec-fetch-site': 'none',
'sec-fetch-mode': 'navigate',
'accept-language': 'zh-CN,zh;q=0.9',
'cookie': '__cfduid=d9b8dda581516351a1d9d388362ac222c1603542964',
} value = "http://www.666wx.cc/txt/77079/"#小说地址 path = os.path.abspath(os.path.dirname(sys.argv[0])) def stepa(value,headers):
lit=[]
response = requests.get(value, headers=headers)
html = etree.HTML(response.text)
url = html.xpath('//*[@id="chapterlist"]//@href')#获取每章地址
lit.append(url)
return(lit)
add=stepa(value,headers)
allurl=add[0]#去掉括号
for link in allurl:
link = 'http://www.666wx.cc'+link#拼接地址,可访问
response = requests.get(link, headers=headers)
html = etree.HTML(response.text)
name = html.xpath('//*[@id="center"]/div[1]/h1/text()')#章节
name =name[0]
content = html.xpath('//*[@id="content"]/text()')#章节内容
for 内容 in content:
内容 = 内容.strip()#去掉每行后的换行符
with open(path+'\\'+str(name)+'.txt', 'a',encoding='utf-8') as w:
w.write(str(内容))
w.close()
print("ok")

python,爬取小说网站小说内容,同时每一章存在不同的txt文件中的更多相关文章

  1. python爬取某个网站的图片并保存到本地

    python爬取某个网站的图片并保存到本地 #coding:utf- import urllib import re import sys reload(sys) sys.setdefaultenco ...

  2. 用Python爬取斗鱼网站的一个小案例

    思路解析: 1.我们需要明确爬取数据的目的:为了按热度查看主播的在线观看人数 2.浏览网页源代码,查看我们需要的数据的定位标签 3.在代码中发送一个http请求,获取到网页返回的html(需要注意的是 ...

  3. Python爬取某网站文档数据完整教程(附源码)

    基本开发环境 (https://jq.qq.com/?_wv=1027&k=NofUEYzs) Python 3.6 Pycharm 相关模块的使用 (https://jq.qq.com/?_ ...

  4. 利用Python爬取电影网站

    #!/usr/bin/env python #coding = utf-8 ''' 本爬虫是用来爬取6V电影网站上的电影资源的一个小脚本程序,爬取到的电影链接会通过网页的形式显示出来 ''' impo ...

  5. python爬取电影网站信息

    一.爬取前提1)本地安装了mysql数据库 5.6版本2)安装了Python 2.7 二.爬取内容 电影名称.电影简介.电影图片.电影下载链接 三.爬取逻辑1)进入电影网列表页, 针对列表的html内 ...

  6. python爬取招聘网站数据

    # -*- coding: utf-8 -*- # 爬虫分析 from bs4 import BeautifulSoup from lxml import etree from selenium im ...

  7. Python爬取招聘网站数据,给学习、求职一点参考

    1.项目背景 随着科技的飞速发展,数据呈现爆发式的增长,任何人都摆脱不了与数据打交道,社会对于“数据”方面的人才需求也在不断增大.因此了解当下企业究竟需要招聘什么样的人才?需要什么样的技能?不管是对于 ...

  8. Python爬取mn52网站美女图片以及图片防盗链的解决方法

    防盗链原理 http标准协议中有专门的字段记录referer 一来可以追溯上一个入站地址是什么 二来对于资源文件,可以跟踪到包含显示他的网页地址是什么 因此所有防盗链方法都是基于这个Referer字段 ...

  9. python爬取凤凰网站的新闻,及其链接地址,来源,时间和内容,用selenium自动化和requests处理数据

    有写规则需要自己定义判断. import requests from selenium import webdriver import time def grasp(urlT): driver = w ...

  10. python爬取视频网站m3u8视频,下载.ts后缀文件,合并成整视频

    最近发现一些网站,可以解析各大视频网站的vip.仔细想了想,这也算是爬虫呀,爬的是视频数据. 首先选取一个视频网站,我选的是 影视大全 ,然后选择上映不久的电影 “一出好戏” . 分析页面 我用的是c ...

随机推荐

  1. Java线程的安全问题

    当多个线程同时访问同一资源(变量,文件,记录),如果只有读操作,则不会有线程安全问题,如果有读和写操作,则会产生线程安全问题,必须保证共享数据同一时刻只能有同一个线程操作.Java采取的办法是sync ...

  2. [阿里DIN] 模型保存,加载和使用

    [阿里DIN] 模型保存,加载和使用 0x00 摘要 Deep Interest Network(DIN)是阿里妈妈精准定向检索及基础算法团队在2017年6月提出的.其针对电子商务领域(e-comme ...

  3. .Net Core 项目启动方式

    本文篇幅较小,讲解如何通过命令行启动项目 接着上一章的Core WebApi(https://www.cnblogs.com/zousc/p/12420998.html),我们已经有了Hello这个控 ...

  4. 如何通过 Python 实现一个消息队列,为在线客服系统与海外运营的APP对接

    我在业余时间开发了一款自己的独立产品:升讯威在线客服与营销系统.陆陆续续开发了几年,从一开始的偶有用户尝试,到如今线上环境和私有化部署均有了越来越多的稳定用户. 而我收到的用户需求也越来越多,产品化的 ...

  5. Vue 前端页面利用MediaRecorder实现音频录制

    Don't Talk, code is here: 重点是startRecord 方法 <template> <div> <el-tooltip class=" ...

  6. 当openlayers的地图所在的div的尺寸发生变化后,鼠标滚轮缩放地图发生偏移问题以及地图变形问题解决

    当地图的尺寸发生变化后,要调用map.updateSize()方法,强制使openlayers重新计算地图视口 updateSize() Force a recalculation of the ma ...

  7. nacos(七): gateway(单体)

    这篇文章将从gateway的搭建.自动路由匹配.路由数组.跨域和路由过滤器五个方面对gateway项目展开讨论. 1.gateway的搭建 gateway的项目基本的搭建过程与消费者的搭建过程基本一致 ...

  8. Scala查看源码

    package com.wyh.day01 /** * 1.代码格式化的快捷键 ctrl+alt+L\ * 2.scala查看源代码的快捷键 ctrl+b */ object ScalaLookSou ...

  9. 2024NOIP邮寄

    渺渺兮身外无物,无喜无悲无怖,不过是大梦一场,各自沉浮. 前言 原计划这篇游记兼总结是在考完后一天之内写出来(12.1 前),但是一方面是因为家里的笔记本插上 U 盘写不了东西,一方面是这次 NOIP ...

  10. 原生开发,使用C语言调用Windows API 开发软件思路分享

    Githu: https://github.com/vladelaina/Catime 作者是一个高度依赖计时器功能的人,但是市面上的软件都不能满足个性化的需求,所以打算自己动手开发,同时采用c语言来 ...