使⽤python爬取⽂库⽂档下载doc⽂档
import requests
import re
import json
telnet命令在哪里开启from docx import Document
def get_document(url):
'''rank函数使用说明
url ⽂库地址
'''
sess = requests.Session()
html = (url).content.decode("gbk")
# 抓取到⽂档标题
title = re.search('id="doc-tittle-0">(.*?)</span>', html).group(1)
# 使⽤正则提取⽂档内容的url
res = re.search("WkInfo.htmlUrls = '(.*)'", html).group(1)
# \\x22是linux中的引号,替换成Python中的引号
res = place("\\x22","\"")
# 转成字典
data = json.loads(res)
document = Document()
string =""
for i in data["json"]:
url = i["pageLoadUrl"]# 获取到url
url = place("\\","")# url中有转义符\去掉
# 请求⽂档内容
preference 100data = (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)# 将⼀段内容写⼊到word
string =""# 重新复制 "" 表⽰新的⼀段⽂本
# 保存word
document.save(title +".docx")
if __name__ =='__main__':
xml文件写法get_document("wenku.baidu/view/5abffd98a200a6c30c22590102020740bf1ecd0d.html?from=search")
⽅法直接调⽤就可以,传⼊参数为⽂库地址,纯⽂本⽂档⽐较好⽤,如果⽂档有表格等其它特殊样式,可能会出现乱码,但是不影响⽂本内容。
代码中⽤到的module:
requests ⽤于发送请求获取请求结果
json 解析请求结果,转化为json数据,便于数据整理
淘宝轮播图python请求并解析json数据re 正则模块,从请求结果中取出我们所需要的内容
docx ⽂档操作,将读出来的内容,重新写⼊新建⽂档中
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论