当前位置: 首页 > news >正文

Python爬虫,爬取某网站小说

代码仅供学习研究,请勿非法使用!(cookies失效请自己重新获取最新的!)

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time    : 2024/8/23 12:41
# @Author  : 何胜金-heshengjin
# @Site    :
# @File    : http_test.py
# @Software: PyCharm
"""
虚拟virtualenv
pip install requests
pip install beautifulsoup4
"""import requests
from bs4 import BeautifulSoup
import time# 请求头,添加你的浏览器信息后才可以正常运行
host = 'www.xdingdian.info'
host_http = 'https://www.xdingdian.info'
headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7','Accept-Encoding':'gzip, deflate, br, zstd','Accept-Language':'zh-CN,zh;q=0.9,en;q=0.8','Cache-Control':'max-age=0','Referer': 'https://www.xdingdian.info/xs/11569/','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36','Cookie': "articlevisited=1; __vtins__KFWsxhk6w799qkMJ=%7B%22sid%22%3A%20%228eca31dc-a28b-5dde-a36c-8c77d5599689%22%2C%20%22vd%22%3A%201%2C%20%22stt%22%3A%200%2C%20%22dr%22%3A%200%2C%20%22expires%22%3A%201724422709694%2C%20%22ct%22%3A%201724420909694%7D; __51uvsct__KFWsxhk6w799qkMJ=1; __51vcke__KFWsxhk6w799qkMJ=3f439a1a-01c4-5644-90a2-46c2c38c280b; __51vuft__KFWsxhk6w799qkMJ=1724420909699",'Host': host,'Connection': 'keep-alive'
}
content_txt = "魅王宠妻鬼医纨绔妃.txt"
tmp_html = "temp.html"
next_text = '下一章'
# 小说起始页
main_url = "https://www.xdingdian.info/txt/11569/1290242.html"while True:print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))# 使用get方法请求网页source_html = requests.get(main_url, headers=headers)# 设置编码source_html.encoding = 'utf-8'# 覆盖写入 temp.htmlwith open(tmp_html, "w+", encoding="utf-8") as f:f.write(source_html.text)f.seek(0)html_handle = f.read()title_text = ''soup = BeautifulSoup(html_handle, "html.parser")if next_text == '下一章':title = soup.find('div', id='amain').find('h1').texttitle_text += '正文 'title_text += title# 打印titleprint(title_text)title_text += '\n'text = soup.find('dd', id='contents').texttitle_text += text# print(text)children = soup.find('div', id='amain').find('h3').find_all("a")last_children = children[-1]main_url = host_http + last_children['href']next_text = last_children.get_text()print(next_text + main_url + "\n")# 追加写入 魅王宠妻鬼医纨绔妃.txtif next_text == '下一页':title_text += '\n'with open(content_txt, "a+", encoding="utf-8") as fc:# 处理NBSPfc.write(title_text.replace(u'\xa0', ''))# 30stime.sleep(30)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Nvidia财报前夕:市场预期股价波动创纪录,AI芯片巨头引领市场热潮
  • DNS劫持问题
  • ArcGIS Pro技术应用
  • 【计算机网络】电路交换、报文交换、分组交换
  • 云计算实训37——Dockerfile的应用+私有仓库的创建与管理
  • 第三届环境工程与可持续能源国际会议(EESE 2024)
  • 【Liunx入门】Liunx软件包管理器
  • arthas源码刨析:arthas 命令粗谈 dashboard watch retransform (3)
  • Mysql基础练习题 181.找到收入比经理高的员工 (力扣)
  • Meta AI动画生成功能的规模化部署与优化策略
  • Jenkins+Docker | K8S虚拟化实现网站自动部署 简单流程 未完待续,,
  • 多人协作开发git merge合并功能出现冲突时解决思路
  • 如何识别视频里的声音转化为文字?视频转文字方法
  • nacos注册中心与配置中心
  • 环境变量与开机自启手册
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 30秒的PHP代码片段(1)数组 - Array
  • CSS实用技巧干货
  • GitUp, 你不可错过的秀外慧中的git工具
  • Javascript设计模式学习之Observer(观察者)模式
  • Java知识点总结(JavaIO-打印流)
  • MaxCompute访问TableStore(OTS) 数据
  • Python实现BT种子转化为磁力链接【实战】
  • SQLServer之创建显式事务
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • Vue.js 移动端适配之 vw 解决方案
  • vue--为什么data属性必须是一个函数
  • 诡异!React stopPropagation失灵
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 数组大概知多少
  • 推荐一个React的管理后台框架
  • 用mpvue开发微信小程序
  • ionic异常记录
  • 如何正确理解,内页权重高于首页?
  • 说说我为什么看好Spring Cloud Alibaba
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • #Lua:Lua调用C++生成的DLL库
  • #QT(串口助手-界面)
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (2020)Java后端开发----(面试题和笔试题)
  • (39)STM32——FLASH闪存
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (第一天)包装对象、作用域、创建对象
  • (附源码)springboot教学评价 毕业设计 641310
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (三)c52学习之旅-点亮LED灯
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (一) 初入MySQL 【认识和部署】
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖