鱼C论坛

 找回密码
 立即注册
查看: 1710|回复: 2

到底哪里出了错,没反应

[复制链接]
发表于 2021-1-9 06:41:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import requests
import re
import json
import os

session = requests.session()


def fetch_url(url):
        return session.get(url).content.decode('gbk')


def get_doc_id(url):
        return re.findall('view/(.*).html', url)[0]


def parse_type(content):
        return re.findall(r"docType.*?:.*?\'(.*?)\',", content)[0]


def parse_title(content):
        return re.findall(r"title.*?\'(.*?)\',", content)[0]


def parse_doc(content):
        result = ''
        url_list = re.findall('(https.*?0.json.*?)\\\\\x22}', content)
        url_list = [addr.replace("\\\\\\/", "/") for addr in url_list]
        for url in url_list[:-5]:
                content = fetch_url(url)
        y = 0
        txtlists = re.findall('"c":"(.*?)".*?"y":(.*?),', content)
        for item in txtlists:
                if not y == item[1]:
                        y = item[1]
                        n = '\n'
                else:
                        n = ''
                        result += n
                        result += item[0].encode('utf-8').decode('unicode_escape', 'ignore')
                        return result


def parse_txt(doc_id):
        content_url = 'https://wenku.baidu.com/api/doc/getdocinfo?callback=cb&doc_id=' + doc_id
        content = fetch_url(content_url)
        md5 = re.findall('"md5sum":"(.*?)"', content)[0]
        dummy_pn = re.findall('"totalPageNum":"(.*?)"', content)[0]
        rsign = re.findall("\"rsign\":\"(.*?)\"", content)[0]
        content_url = 'https://wkretype.bdimg.com/retype/text/' + \
            doc_id + '?rn=' + 'pn' + '&type=txt' + md5 + '&rsign=' + rsign
        result = ''
        for item in content:
                for i in item['parags']:
                        result += i["c"].replace('\\r', '\r').replace('\\n', '\n')
                        return result


def parse_other(doc_id):
        content_url = "https://wenku.baidu.com/browse/getbcsurl?doc_id=" + \
            doc_id + "&pn=1&rn=99999&type=ppt"
        content = fetch_url(content_url)
        url_list = re.findall(content, '{"zoom":"(.*?)","page"')
        url_list = [item.replace("\\", '') for item in url_list]
        if not os.path.exists(doc_id):
                os.mkdir(doc_id)
        for index, url in enumerate(url_list):
                content = session.get(url).content
                path: str = os.path.join(doc_id, str(index) + '.jpg')
        with open(path, 'wb') as f:
                f.write(content)
        print("文件保存在" + doc_id + "文件夹")            
        
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-9 08:24:28 | 显示全部楼层
你只是谢了函数没有执行怎么会有反应?应该是学习别人代码复制下来的吧?也不知道你到底想要什么目的
调用了函数就会有反应了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-9 11:05:16 | 显示全部楼层
在最后加一个
  1. if __name__ == "__main__":
  2.     # 你要运行的函数
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-11 15:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表