使用python爬取文库文档
下载doc文档
百度文库直接查看源代码并不能显示出页面上的文本内容,F12 network 也没有比较明显的接口,于是百度发现一篇文章
地址 https://www.cnblogs.com/huangguifeng/p/11829323.html
老哥牛掰,找到了文档的接口还提供了代码,记录一下,以免忘记
import requests
import re
import json
from docx import Documentdef get_document(url):'''url 文库地址'''sess = requests.Session()html = sess.get(url).content.decode("gbk")# 抓取到文档标题title = re.search('id="doc-tittle-0">(.*?)</span>', html).group(1)# 使用正则提取 文档内容的urlres = re.search("WkInfo.htmlUrls = '(.*)'", html).group(1)# \\x22是linux中的引号,替换成Python中的引号res = res.replace("\\x22", "\"")# 转成字典data = json.loads(res)document = Document()string = ""for i in data["json"]:url = i["pageLoadUrl"] # 获取到urlurl = url.replace("\\", "") # url中有转义符\去掉# 请求文档内容data = requests.get(url).content.decode("utf-8")# 提取文本数据res = re.search("wenku_\d*\((.*)\)", data, re.S).group(1)# 将json对象数据转成Python对象data = json.loads(res)for i in data['body']:# 判断数据是什么类型if i["t"] == "word":# 获取到文本string += str(i["c"])# ps中不为空并且_enter==1的时候是换行也就是一段内容if i["ps"] and i["ps"].get("_enter") == 1:document.add_paragraph(string) # 将一段内容写入到wordstring = "" # 重新复制 "" 表示新的一段文本# 保存worddocument.save(title + ".docx")if __name__ == '__main__':get_document("https://wenku.baidu.com/view/5abffd98a200a6c30c22590102020740bf1ecd0d.html?from=search")
方法直接调用就可以,传入参数为文库地址,纯文本文档比较好用,如果文档有表格等其它特殊样式,可能会出现乱码,但是不影响文本内容。
代码中用到的module:
- requests 用于发送请求获取请求结果
- json 解析请求结果,转化为json数据,便于数据整理
- re 正则模块,从请求结果中取出我们所需要的内容
- docx 文档操作,将读出来的内容,重新写入新建文档中
使用python爬取文库文档相关推荐
- python 爬取doc文档
doc_href='https://resource.lzbank.com:18106/cportalFileServer/files//site/doc/pc/20201/12021/goods/2 ...
- python爬虫爬取百度文档
使用python爬虫爬取百度文档文字 话不多说,直接上代码! import requests import reheaders = {"User-Agent": "Moz ...
- 三十、Pyspider爬虫框架总结,爬取Scrapy文档
这是我Python培训的内容,使用Pyspider框架爬取Scrapy文档 @Author:xinlan pyspider框架 一.pyspider框架介绍 1.简介 pyspider 是个强大的由p ...
- Python爬取2022春节档电影信息
Python爬取2022春节档电影信息 前提条件 相关介绍 实验环境 具体步骤 确定目标网站 分析网站 按F12打开浏览器操作台 按Ctrl+Shift+C快捷键,用鼠标找到目标元素 按Ctrl+F快 ...
- python爬取文件归类_python爬取各类文档方法归类汇总
HTML文档是互联网上的主要文档类型,但还存在如TXT.WORD.excel.PDF.csv等多种类型的文档.网络爬虫不仅需要能够抓取HTML中的敏感信息,也需要有抓取其他类型文档的能力.下面简要记录 ...
- python爬取网文存入txt文件
文章目录 一.网络爬虫是什么? 二.使用步骤 1.引入库 2.数据请求 2.数据解析 3.数据存储 4.完整代码 一.网络爬虫是什么? 百度百科给出的定义:网络爬虫(又称为网页蜘蛛,网络机器人,在FO ...
- Python爬取某平台付费文档,确定不来薅羊毛吗?
导语: 哈喽,哈喽~当代大学生写作业时,emmmm-先看一眼,ok有点印象. 想翻书时,这是第几页?怎么这么干净,是这里吗- 这时"学小易"就很友好了,但是唯一不足的一点是,只有答 ...
- Python爬取起点小说并写入文档
python爬取起点免费小说 按F12查看网页源代码: 发现每一章小说链接在li中,这时可以提取每一章的链接: def get_html(url):r=requests.get(url)html=Be ...
- 通过html直接显示txt内容_10分钟教你用Python爬取Baidu文库全格式内容
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:向柯玮,周航 程序猿声 PS:如有需要Python学习资料的小伙伴可 ...
- 10分钟教你用Python爬取Baidu文库全格式内容
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:向柯玮,周航 程序猿声 PS:如有需要Python学习资料的小伙伴可 ...
最新文章
- Random类(Java中的随机类)
- 如何去maven仓库下载jar包
- 鸟哥的Linux私房菜(基础篇)-第一章、Linux是什么(一.3. Linux的特色)
- java虚拟机之一内存运行时数据区域解释
- 【软件测试】简述自顶向下和自底向上两种集成测试方法
- 按值设置选择选项“已选择”
- 视频播放时,关键帧丢失时造成的透明水影现象
- JAVA计算机毕业设计多媒体素材管理系统Mybatis+系统+数据库+调试部署
- 如何在github上创建自己的个人网站
- 2017第九届北京空气净化及水净化、北京国际节能减排展览会会刊
- Centos7 安装VLC播放器
- 量化交易系统用例图(一)
- 数列 COGS1048:[Citric S2] 一道防AK好题
- 从今日起,做一个有归置的男人!
- 计算机常见硬盘名称,我的硬盘我做主:自己给电脑硬盘改个名!
- 常见博客Blog托管提供商评测
- 冬季给孩子熬粥有讲究
- Hexo博客Next主题bilibili视频Markdown插入文章
- JavaScript原声的数组操作函数归纳
- 【已开源】mtcnn_pytorch完美复现