#导入必备的包#本文爬取的是顶点小说中的完美世界为列。文中的aa.text,bb.text为自己创建的text文件

importrequestsfrom bs4 importBeautifulSoup#爬取目标url

url= 'https://www.x23us.com/html/42/42377/'headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3393.4 Safari/537.36'}#单独的函数,用于打开bb文件,bb文件用于存章节的url

defopen_href():

with open('bb.text', 'r', encoding='utf-8') as f:

a=f.readlines()

f.close()#将文件里的所有url读出并以列表的形式返回

returna#请求目标网址,并返回文本源码

defpage_index():

html= requests.get(url, headers=headers)ifhtml:returnhtml.text#将目标网址进行解析,得到所有章节的url

defpage_list(html):ifhtml:

a=[]

html_bs4= BeautifulSoup(html, 'lxml')

html_b= html_bs4.select('.L a')for i inhtml_b:

title=i.get_text()

href= url + i.get('href')

data={'title': title,'href': href

}

a.append(data)returna#将aa文件打开并将得到的章节内容写进文件里并关闭存档

deftext_cun_html(title, html):ifhtml:

with open('aa.text', 'a+', encoding='utf-8') as f:

f.write(title+ '\n' + html + '\n')

f.close()print('存档成功!!!!')return 'yes'

else:

None#将bb文件打开并将写入aa文件相对应的url写进bb文件里并关闭存档

deftext_cun_href(href):ifhref:

with open('bb.text', 'a+', encoding='utf-8') as f:

f.write(href+ '\n')

f.close()print('href存档成功!!')return 'ok'

else:

None#将得到的章节url解析并二次请求获取章节内容

defhtml_list_index(title, href):ifhref:

html= requests.get(url=href, headers=headers)if html.status_code == 200:

bs= BeautifulSoup(html.text, 'lxml')

bs4= bs.select('#contents')for item inbs4:

a=text_cun_html(title, item.get_text())#章节内容存档成功返回yes

if a == 'yes':

text_cun_href(href)else:

Nonedefmain():#首先获取下bb文件的url列表

number =open_href()print(number)

html=page_index()

data=page_list(html)for i indata:

title= i.get('title')

href= i.get('href')print(href)#判断发生异常后,在启动服务时,我们过滤掉已爬取过的url

if href + '\n' not innumber:

html_list_index(title, href)else:

Noneif __name__ == '__main__':

main()#简单思路实现断点续存,不喜勿喷,欢迎共同讨论

python 保存数据单文件_python3.6 单文件爬虫 断点续存 普通版 文件续存方式相关推荐

  1. python保存数据到本地文件_python保存数据到本地文件的方法

    python保存数据到本地文件的方法 1.保存列表为.txt文件 #1/list写入txt ipTable = ['158.59.194.213', '18.9.14.13', '58.59.14.2 ...

  2. python 保存本地乱码,解决python保存数据到csv文件中文乱码的方法

    解决python保存数据到csv文件中文乱码的方法 发布时间:2020-07-08 13:49:53 来源:亿速云 阅读:695 作者:清晨 小编给大家分享一下解决python保存数据到csv文件中文 ...

  3. python保存数据_Python 保存数据的方法(4种方法)

    Python 保存数据的方法: open函数保存 使用with open()新建对象 写入数据(这里使用的是爬取豆瓣读书中一本书的豆瓣短评作为例子) import requests from lxml ...

  4. python 保存数据为excel

    python 保存数据为excel import os # 获取当前工作路路径 import pandas as pd import numpy as npdataset = input(" ...

  5. Python 保存数据到 Exel

    Python 保存数据到 Exel 1.安装包 pip install xlwt 2.保存数据到 Exel import xlwt# 新建表格book = xlwt.Workbook(encoding ...

  6. python保存数据到文件的几种方法

    方法一:open函数保存 #保存数据open函数 with open('D:/PythonWorkSpace/TestData/pinglun.txt','w',encoding='utf-8') a ...

  7. Python保存数据到文件的方法

    方法一:open函数保存#保存数据open函数 with open('D:/PythonWorkSpace/TestData/pinglun.txt','w',encoding='utf-8') as ...

  8. python对比数据的原理_Python3 filecmp模块测试比较文件原理解析

    1.filecmp比较文件 filecmp模块提供了一些函数和一个类来比较文件系统上的文件和目录. 1.1 示例数据 使用下面代码创建一组测试文件. import os def mkfile(file ...

  9. python保存数据_python各数据存储方法

    声明: 1)仅作为个人学习,如有冒犯,告知速删! 2)不想误导,如有错误,不吝指教! 本节内容: 简介 ------------------文件存储------------------ TXT文本存储 ...

  10. python保存数据db_python存储数据到mongodb

    mongodb本地插入数据的基本操作 #!/usr/bin/env python #-*- coding:utf-8 -*- """在python脚本中,将文件导入到数据 ...

最新文章

  1. 轰动程序员圈的大事:女程序员将代码写到退休,返聘再续传奇
  2. CF908G New Year and Original Order
  3. Pycharm中Python3连接Oracle
  4. 数据库系统概论-数据库安全性
  5. matlab 画折线图并美化
  6. 基于java毕业生就业信息管理系统的设计(含源文件)
  7. 流体动力matlab仿真,IND4动力总成丨基于MATLAB simulink的液力变矩器仿真建模
  8. 飞思卡尔智能车准备篇
  9. vue中的路由及自定义图标
  10. 2022年高教社杯全国大学生数学建模竞赛-【比赛规则篇】比赛规则及比赛指导
  11. 统计字符个数怎么用c语言写,请问这个用c怎么做:输入一串字符,分别统计其中数字和字母的个数...
  12. python数据分析实训报告总结_Python实训周总结(精品文档)
  13. app显示服务器图片不显示,如何将存在本地服务器的图片,在APP前台显示
  14. Win7无法修改MAC怎么办 不能修改MAC的原因及解决方法
  15. 谈谈网络工程师的就业方向与薪资水平
  16. PS mac版的下载地址,百度软件中心
  17. 关于列表的“切片”操作
  18. 用ffmpeg给音频加封面(亲试成功)
  19. 【RT-Thread】 TinyUSB挂载成U盘和文件系统,基于STM32F405RG
  20. ImportError解决

热门文章

  1. 子网掩码的作用和用法
  2. 新春快乐!马年大吉!518
  3. HTML(常用标签与超链接)的案例
  4. 让玩家提升游戏耐玩度的8个小技巧
  5. 菜鸟入门--摄影术语
  6. 单元测试:桌面检查、走查方式、代码审查
  7. 多线程就一定快吗?天真!
  8. PHP实现文件上传功能实例代码
  9. Linux初学者如何安装jdk,tomcat,mysql和svn
  10. 正则表达式—————根据银行卡号判断银行名称