下载python电子书

下面展示一些 内联代码片

import requests
from lxml import etree
from urllib import parse
from pprint import pprint
from tqdm import tqdm

在这里插入图片描述

class PythonBook:
def init(self):
self.url=“https://m.jb51.net/books/list476_1.html”
self.url_page=“https://m.jb51.net/”
self.headers={ ‘User-Agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36’,
‘Authorization’: ‘Bearer your_token’}

def get_book(self,url):req=requests.get(url=url,headers=self.headers)req.encoding="utf-8"#print(req.text)return req.textdef get_book_rar(self,url):req=requests.get(url=url,headers=self.headers,stream=True)return req.iter_content	def etree_xpath(self,req_text,xpath):html=etree.HTML(req_text)list_=html.xpath(xpath)return list_def page_url(self):list_page=[]for i in range(1,11):str_url=f"https://m.jb51.net/books/list476_{i}.html"list_page.append(str_url)return list_pagedef parse_urljoin(self,list_url):list_book_url=[]for url in list_url:url_book=parse.urljoin(self.url_page,url)list_book_url.append(url_book)return list_book_url	def flies_book(self,book_pdf,pdf_content):for conte in tqdm(pdf_content(chunk_size=1042)):with open(f"python_pdf2文件/{book_pdf}","ab") as f:if conte:f.write(conte)print(f"下载完成:{book_pdf}")def main(self):list_p=self.page_url()for item in list_p:try:req=self.get_book(item)section='//section[@class="softlist"]/a/@href'#p='//aside/p/text()'url_=self.etree_xpath(req,section)#text=self.etree_xpath(req,p)list_text=self.parse_urljoin(url_)for book in list_text:reqs=self.get_book(book)h3='//article/div/p/text()'pdf_text=self.etree_xpath(reqs,h3)[1:-2]#print(reqs)	rar='//div[@id="downlink"]/a/@href'list_rar=self.etree_xpath(reqs,rar)[0]#print(list_rar)rar_text=self.get_book_rar(list_rar)#print(rar_text)file_name=list_rar.split('/')[-1]#print(file_name)self.flies_book(file_name,rar_text)except:pass 		

pythonbook=PythonBook()
pythonbook.main()
#pythonbook.page_url()
仅供学习使用,仅供学习使

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/601775.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习300问】62、若想将逻辑回归用于多分类有哪些常见做法?

逻辑回归算法在设计之初是用于二分类问题的,但若想把它用在多分类上也不是不行,这得看你具体面临的多分类问题是什么样的(问题的定义)。不同的问题就有不同的应对之策: 一、一对一 (1)方法的原…

【三维重建工具】NeRFStudio、3D GaussianSplatting、Colmap安装与使用指南(更新中)

目录 一、NeRFStudio安装1.安装(ubuntu系统)2.安装(windows系统) 二、安装tinycudann三、Colmap安装与使用1. 安装依赖2. 安装colmap3.使用colmap3.1 可视化界面使用3.2 Nerfstudio命令行调用Colmap 四、使用NeRFStudio进行三维重…

6 CUDA内存处理(1)

6.1 简介 在传统的CPU模型中,内存是线性内存或平面内存,单个CPU核可以无约束地访问任何地址的内存。在CPU的硬件实际实现中,有许多一级(L1)、二级(L2)以及三级(L3)缓存。那些善于对CPU代码进行优化以及有高性能计算(High-Performance Comput…

MacOS - 程序坞,但图标消失不见了 但是还能用

如图 强迫症难受死 重启什么的都尝试了。不好使! 差点重装系统。 经验证 改名字可以修复。 但是系统的比如启动台 也显示不出来 全网好使的方案 在“应用程序”中打开“终端” 输入命令如下:(注意:需要 sudo 权限&#xff0…

用国内版Devin:DevOpsGPT开发一个简易官网

前言: 世界上第一个AI程序员Devin想必已经给大家带来了不小的震撼,这种L4级的技术也许已经昭示着AGI离我们或许真的不远了。 这里先给大家普及一个概念: L4是谷歌对AGI划分的第四个等级,把代码丢给 AI 改这个是 L1 或者 L2 级别的…

阿里云又又又降价了!最高降幅59%!附最新活动入口!

2024年4月8日,阿里云官宣:海外市场全线降价,覆盖全球13个地域节点部署的核心云产品、500多个产品规格,平均降幅23%、最高降幅59%,新价格即刻生效! 13个地域节点包括:马来西亚、印尼、新加坡、菲…

快速理解vim编辑器和软硬连接

刚开始学习linux基础命令时最难搞懂的应该就是vi和ln命令了😭,写这篇文章主要想和大家分享一下我对这两个命令的理解,希望能更快的帮助到那些还没搞懂的同学😜 首先我们要知道vim编辑器主要分为三个工作模式,分别是图上…

变电站设计综合应用软件-光纤回路设计解决方案

产品概述 智能变电站光纤回路设计软件——让您的光纤设计之旅变得轻松而高效! 光纤回路设计作为智能变电站的关键环节,对电网的稳定运行起着至关重要的作用。为了让您的光纤设计之路更加顺畅,我们隆重推出了这款智能变电站光纤回路设计软件。这款软件以其简单易用的…

蓝桥杯 子串简写(暴力)

题目&#xff1a;子串简写 代码1&#xff1a; #include<algorithm> #include<iostream> #include<cstring> #include<queue> #include<cmath>using namespace std;char c1,c2; int k; char s[100010]; int a[100010]; int b[100010]; int cnt; …

软件设计师——数据库

数据库 三级模式两级映像关系模型基本术语关系模型中的关系完整性约束 三级模式两级映像 概念模式&#xff08;也称模式&#xff09;对应基本表 外模式&#xff08;也称用户模式或子模式&#xff09;对应视图 内模式&#xff08;也称存储模式&#xff09;对应存储文件 两级映像…

什么是并行通信、串行通信?什么是全双工、半双工、单工? 什么是异步通信、同步通信? 什么是RS232、RS485?什么是pwm?

这篇文章主要讲一下单片机中的通信相关的内容 主要讲一下以下5个问题&#xff1a; 1.什么是并行通信、串行通信&#xff1f; 2.什么是全双工、半双工、单工&#xff1f; 3.什么是异步通信、同步通信&#xff1f; 4.什么是RS232、RS485&#xff1f; 5.什么是pwm&#xff1f;什…

Educational Codeforces Round 162 (Rated for Div. 2) ----- E. Count Paths --- 题解

E. Count Paths&#xff1a; 题目大意&#xff1a; 思路解析&#xff1a; 根据题目中定义的美丽路径&#xff0c;我们可以发现路径只有两种情况&#xff1a; 当前结点作为起始结点&#xff0c;那我们只需要知道它的子树下有多少个相同颜色的结点&#xff0c;并且相同颜色的结…