资源简介

该脚本实现了自动下载百度文库文档,但缺点是需要企业账号,不能任意下载任意文档,所以仅供学习python脚本使用。使用方法是:运行软件,输入要下载的文档的地址,它就会自动下载

资源截图

代码片段和文件信息

# coding:utf-8

import io
import re
import sys
import json
import requests
from lxml import etree

sys.stdout = io.TextIOWrapper(sys.stdout.bufferencoding=“utf8“)

class BaikuSpider(object):
    “““docstring for BaikuSpider“““
    def __init__(self):
        self.url = “https://wenku.baidu.com/view/6b2016c49ec3d5bbfd0a742d.html“
        self.headers = {“User-Agent“: “Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/67.0.3396.99 Safari/537.36“
                        “Origin“: “https://wenku.baidu.com“
                        “Referer“: “https://wenku.baidu.com/view/c20e5ad684254b35eefd3402.html“
                        }
        self.downloadUrl = ““
        self.data = {}
        self.name = ““
    
    def parse_url(selfurl):
        response = requests.get(urlheaders=self.headers)
        return response.content.decode(“gb2312““ignore“)

    def init_post(selfstr_content):
        html = etree.HTML(str_content)
        doc_id = re.search(r‘view/(\S*)\.html$‘self.url).group(1)
        downloadToken = html.xpath(“//form/input[@name=‘downloadToken‘]/@value“)
        sz = html.xpath(“//form/input[@name=‘sz‘]/@value“)
        storage = html.xpath(“//form/input[@name=‘storage‘]/@value“)
        retType = html.xpath(“//form/input[@name=‘retType‘]/@value“)
        ct = html.xpath(“//form/input[@name=‘ct‘]/@value“)
        useTicket = html.xpath(“//form/input[@name=‘useTicket‘]/@value“)
        target_uticket_num = html.xpath(“//form/input[@name=‘target_uticket_num‘]/@value“)
        v_code = html.xpath(“//form/input[@name=‘v_code

评论

共有 条评论