百度文库PDF爬虫


一个基于Python的百度文库爬虫, 主要实现文库pdf文件的下载。
资源截图
代码片段和文件信息
import requests
import re
import argparse
import json
import os

parser = argparse.ArgumentParser()
parser.add_argument(“url“ help=“Target Url你所需要文档的URL“ type=str)
parser.add_argument(‘type‘ help=“Target Type你所需要文档的的类型(DOC|PPT|TXT|PDF)“ type=str)
args = parser.parse_args()

url = args.url
type = args.type

# 根据文件决定函数
y = 0


def DOC(url):
    doc_id = re.findall(‘view/(.*).html‘ url)[0]
    html = requests.get(url).text
    lists = re.findall(‘(https.*?0.json.*?)\\x22}‘ html)
    lenth = (len(lists) // 2)
    NewLists = lists[:lenth]
    for i in range(len(NewLists)):
        NewLists[i] = NewLists[i].replace(‘\‘ ‘‘)
        txts = requests.get(NewLists[i]).text
        txtlists = re.findall(‘“c“:“(.*?)“.*?“y“:(.*?)‘ txts)
        for i in range(0 len(txtlists)):
            global y
            print(txtlists[i][0].encode(‘utf-8‘).decode(‘unicode_escape‘ ‘ignore‘))
            if y != txtlists[i][1]:
                y = txtlists[i][1]
                n = ‘

            else:
                n = ‘‘
            filename = doc_id + ‘.txt‘
            with open(filename ‘a‘ encoding=‘utf-8‘) as f:
                f.write(n + txtlists[i][0].encode(‘utf-8‘).decode(‘unicode_escape‘ ‘ignore‘).replace(‘\‘ ‘‘))
        print(“文档保存在“ + filename)


def PPT(url):
    doc_id = re.findall(‘view/(.*).html‘ url)[0]
    url = “https://wenku.baidu.com/browse/getbcsurl?doc_id=“ + doc_id + “&pn=1&rn=99999&type=ppt“
    html = requests.get(url).text
    lists = re.findall(‘{“zoom“:“(.*?)““page“‘ html)
    for i in range(0 len(lists)):
        lists[i] = lists[i].replace(“\“ ‘‘)
    try:
        os.mkdir(doc_id)
    except:
        pass
    for i in range(0 len(lists)):
        img = requests.get(lists[i]).content
        with open(doc_id + ‘img‘ + str(i) + ‘.jpg‘ ‘wb‘) as m:
            m.write(img)
    print(“PPT图片保存在“ + doc_id + “文件夹“)


def TXT(url):
    doc_id = re.findall(‘view/(.*).html‘ url)[0]
    url = “https://wenku.baidu.com/api/doc/getdocinfo?callback=cb&doc_id=“ + doc_id
    html = requests.get(url).text
    md5 = re.findall(‘“md5sum“:“(.*?)“‘ html)[0]
    pn = re.findall(‘“totalPageNum“:“(.*?)“‘ html)[0]
    rsign = re.findall(‘“rsign“:“(.*?)“‘ html)[0]
    NewUrl = ‘https://wkretype.bdimg.com/retype/text/‘ + doc_id + ‘?rn=‘ + pn + ‘&type=txt‘ + md5 + ‘&rsign=‘ + rsign
    txt = requests.get(NewUrl).text
    jsons = json.loads(txt)
    texts = re.findall(“‘c‘: ‘(.*?)‘“ str(jsons))
    print(texts)
    filename = doc_id + ‘.txt‘
    with open(filename ‘a‘ encoding=‘utf-8‘) as f:
        for i in range(0 len(texts)):
            texts[i] = texts[i].replace(‘\r‘ ‘
‘)
            texts[i] = texts[i].replace(‘\n‘ ‘
‘)

            f.write(texts[i])
    print(“文档保存在“ + filename)


def FPD(url):
    doc_id = re.findall(‘view/(.*).html‘ url)[0]
    url = “https://wenku.baidu.com/browse/getbcsurl?doc_id=“ + doc_id + “&pn=1&rn=99999&type=ppt“
    html = requests.get(url).text
    lists = re.findall(‘{“zoom“:“(.*?)“

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        398  2018-05-30 09:36  文库爬虫.ideaFreeForWenku-master.iml

     文件        212  2018-05-30 09:35  文库爬虫.ideamisc.xml

     文件        290  2018-05-30 09:35  文库爬虫.ideamodules.xml

     文件      14917  2018-05-30 10:03  文库爬虫.ideaworkspace.xml

     文件     141668  2018-05-30 09:50  文库爬虫9f3e7c9a1c7aa00b52acb96img0.jpg

     文件     177485  2018-05-30 09:50  文库爬虫9f3e7c9a1c7aa00b52acb96img1.jpg

     文件     211042  2018-05-30 09:50  文库爬虫9f3e7c9a1c7aa00b52acb96img10.jpg

     文件     201024  2018-05-30 09:50  文库爬虫9f3e7c9a1c7aa00b52acb96img11.jpg

     文件     257453  2018-05-30 09:50  文库爬虫9f3e7c9a1c7aa00b52acb96img12.jpg

     文件     213538  2018-05-30 09:50  文库爬虫9f3e7c9a1c7aa00b52acb96img13.jpg

     文件     228293  2018-05-30 09:50  文库爬虫9f3e7c9a1c7aa00b52acb96img14.jpg

     文件     236833  2018-05-30 09:50  文库爬虫9f3e7c9a1c7aa00b52acb96img15.jpg

     文件     213298  2018-05-30 09:50  文库爬虫9f3e7c9a1c7aa00b52acb96img16.jpg

     文件     269043  2018-05-30 09:50  文库爬虫9f3e7c9a1c7aa00b52acb96img17.jpg

     文件     231817  2018-05-30 09:50  文库爬虫9f3e7c9a1c7aa00b52acb96img18.jpg

     文件     268082  2018-05-30 09:50  文库爬虫9f3e7c9a1c7aa00b52acb96img19.jpg

     文件     206299  2018-05-30 09:50  文库爬虫9f3e7c9a1c7aa00b52acb96img2.jpg

     文件     248085  2018-05-30 09:50  文库爬虫9f3e7c9a1c7aa00b52acb96img3.jpg

     文件     246805  2018-05-30 09:50  文库爬虫9f3e7c9a1c7aa00b52acb96img4.jpg

     文件     226442  2018-05-30 09:50  文库爬虫9f3e7c9a1c7aa00b52acb96img5.jpg

     文件     257286  2018-05-30 09:50  文库爬虫9f3e7c9a1c7aa00b52acb96img6.jpg

     文件     197320  2018-05-30 09:50  文库爬虫9f3e7c9a1c7aa00b52acb96img7.jpg

     文件     226475  2018-05-30 09:50  文库爬虫9f3e7c9a1c7aa00b52acb96img8.jpg

     文件     267267  2018-05-30 09:50  文库爬虫9f3e7c9a1c7aa00b52acb96img9.jpg

     文件      44871  2018-05-30 09:55  文库爬虫695832bbd5d8d15abe23482fb4daa58da0111cc7.txt

     文件    7826677  2018-04-09 12:14  文库爬虫FreeForWenku.exe

     文件       3752  2018-05-30 09:59  文库爬虫FreeForWenku.py

     文件        575  2018-05-30 09:59  文库爬虫README.md

     目录          0  2018-05-30 09:36  文库爬虫.ideainspectionProfiles

     目录          0  2018-05-30 10:03  文库爬虫.idea

............此处省略5个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)