欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)復(fù)制文檔數(shù)據(jù)

 更新時(shí)間:2022年12月14日 14:06:17   作者:魔王不會(huì)哭  
我們百度搜索一些東西得時(shí)候,經(jīng)常找到文檔里面然后就會(huì)發(fā)現(xiàn)需要充值才能復(fù)制!怎么可以不花錢(qián)也保存呢?今天就分享給大家一個(gè)python獲取文檔數(shù)據(jù)得方法,需要的可以收藏一下

前言

我們百度搜索一些東西得時(shí)候,經(jīng)常找到文檔里面

然后就會(huì)發(fā)現(xiàn)需要充值才能復(fù)制!怎么可以不花錢(qián)也保存呢?

今天就分享給大家一個(gè)python獲取文檔數(shù)據(jù)得方法

環(huán)境使用

python 3.8

pycharm

模塊使用

requests >>> 數(shù)據(jù)請(qǐng)求模塊 pip install requests

docx >>> 文檔保存 pip install python-docx

re 內(nèi)置模塊 不需要安裝

ctrl + R : 首先你得看得數(shù)據(jù), 才能想辦法獲取

安裝python第三方模塊

win + R 輸入 cmd 點(diǎn)擊確定, 輸入安裝命令 pip install 模塊名 (pip install requests) 回車(chē)

在pycharm中點(diǎn)擊Terminal(終端) 輸入安裝命令

基本思路流程

一. 分析數(shù)據(jù)來(lái)源

找文檔數(shù)據(jù)內(nèi)容, 是在那個(gè)url里面生成的

通過(guò)開(kāi)發(fā)者工具進(jìn)行抓包分析

1.打開(kāi)開(kāi)發(fā)者工具: F12 / 鼠標(biāo)右鍵點(diǎn)擊檢查選擇network

2.刷新網(wǎng)頁(yè): 讓本網(wǎng)頁(yè)數(shù)據(jù)內(nèi)容重新加載一遍

如果你是非VIP賬號(hào), 看數(shù)據(jù), 圖片形式 —> 把數(shù)據(jù)<圖片> 獲取下來(lái) —> 做文字識(shí)別

3.分析文庫(kù)數(shù)據(jù)內(nèi)容, 圖片所在地址

獲取所有圖片內(nèi)容: 文庫(kù)數(shù)據(jù) --> 圖片形式 —> 所有圖片內(nèi)容保存下載

文字識(shí)別, 把圖片文字識(shí)別出來(lái), 保存word文檔里面

二. 代碼實(shí)現(xiàn)步驟

1.發(fā)送請(qǐng)求, 模擬瀏覽器對(duì)于url地址發(fā)送請(qǐng)求

圖片數(shù)據(jù)包

2.獲取數(shù)據(jù), 獲取服務(wù)器返回響應(yīng)數(shù)據(jù)

開(kāi)發(fā)者工具: response

3.解析數(shù)據(jù), 提取圖片鏈接地址

4.保存數(shù)據(jù), 把圖片內(nèi)容保存到本地文件夾

5.做文字識(shí)別, 識(shí)別文字內(nèi)容

6.把文字?jǐn)?shù)據(jù)信息, 保存word文檔里面

代碼展示

# 導(dǎo)入數(shù)據(jù)請(qǐng)求模塊
import requests
# 導(dǎo)入格式化輸出模塊
from pprint import pprint
# 導(dǎo)入base64
import base64
# 導(dǎo)入os模塊
import os
# 導(dǎo)入文檔模塊
from docx import Document
# 導(dǎo)入正則
import re
# 導(dǎo)入json
import json

文字識(shí)別:

  • 注冊(cè)一個(gè)百度云API賬號(hào)
  • 創(chuàng)建應(yīng)用 并且去免費(fèi)領(lǐng)取資源
  • 在技術(shù)文檔里面 Access Token獲取
  • 調(diào)用API接口去做文字識(shí)別
def get_content(file):
    # client_id 為官網(wǎng)獲取的AK, client_secret 為官網(wǎng)獲取的SK
    host = 'https://aip.****.com/oauth/2.0/token?grant_type=client_credentials&client_id=Gu7BGsfoKFZjLGvOKP7WezYv&client_secret=rGa2v2FcVnxBDFlerSW5H0D2eO7nRxdp'
    response = requests.get(host)
    access_token = response.json()['access_token']
    '''
    通用文字識(shí)別(高精度版)
    '''
    request_url = "https://aip.****.com/rest/2.0/ocr/v1/accurate_basic"
    # 二進(jìn)制方式打開(kāi)圖片文件
    f = open(file, 'rb')
    img = base64.b64encode(f.read())
    params = {"image":img}
    request_url = request_url + "?access_token=" + access_token
    headers = {'content-type': 'application/x-www-form-urlencoded'}
    json_data = requests.post(request_url, data=params, headers=headers).json()
    # 列表推導(dǎo)式
    words = '\n'.join([i['words'] for i in json_data['words_result']])
    return words
# # 讀取文件夾里面所有圖片內(nèi)容
# content_list = []
# files = os.listdir('img\\')
# for file in files:
#     filename = 'img\\' + file
#     words = get_content(file=filename)
#     print(words)
#     content_list.append(words)
#
# # 保存word文檔里面
# doc = Document()
# # 添加第一段文檔內(nèi)容
# content = '\n'.join(content_list)
# doc.add_paragraph(content)
# doc.save('data.docx')
link = 'https://wenku.****.com/aggs/74d1a923482fb4daa58d4b8e?index=0&_wkts_=1670327737660&bdQuery=%E7%AD%94%E9%A2%98'
# 請(qǐng)求頭
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
}
html_data = requests.get(url=link, headers=headers).text
json_data = json.loads(re.findall('var pageData = (.*?);', html_data)[0])
pprint(json_data)
for j in json_data['aggInfo']['docList']:
    name = j['title']  # 名字
    score = j['score'] # 評(píng)分
    viewCount = j['viewCount'] # 閱讀量
    downloadCount = j['downloadCount'] # 下載量
    docId = j['docId'] # 數(shù)據(jù)包ID

1.發(fā)送請(qǐng)求, 模擬瀏覽器對(duì)于url地址發(fā)送請(qǐng)求

長(zhǎng)鏈接, 可以分段寫(xiě)

問(wèn)號(hào)前面: url鏈接

問(wèn)號(hào)后面: 請(qǐng)求參數(shù)/查詢(xún)參數(shù)

    # 確定請(qǐng)求鏈接
    url = 'https://wenku.****.com/gsearch/rec/pcviewdocrec'
    # 請(qǐng)求參數(shù)
    data = {
        'docId': docId,
        'query': name,
        'recPositions': ''
    }
    # 請(qǐng)求頭
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
    }
    #發(fā)送請(qǐng)求
    response = requests.get(url=url, params=data, headers=headers)
    # <Response [200]> 響應(yīng)對(duì)象, 200 表示請(qǐng)求成功
    print(response)

2.獲取數(shù)據(jù), 獲取服務(wù)器返回響應(yīng)數(shù)據(jù)

開(kāi)發(fā)者工具: response

  • response.json() 獲取響應(yīng)json字典數(shù)據(jù), 但是返回?cái)?shù)據(jù)必須是完整json數(shù)據(jù)格式 花括號(hào) {}
  • response.text 獲取響應(yīng)文本數(shù)據(jù), 返回字符串 任何時(shí)候都可以, 但是基本獲取網(wǎng)頁(yè)源代碼的時(shí)候
  • response.content 獲取響應(yīng)二進(jìn)制數(shù)據(jù), 返回字節(jié) 保存圖片/音頻/視頻/特定格式文件
  • print(response.json()) 打印字典數(shù)據(jù), 呈現(xiàn)一行
  • pprint(response.json()) 打印字典數(shù)據(jù), 呈現(xiàn)多行, 展開(kāi)效果

3.解析數(shù)據(jù), 提取圖片鏈接地址

字典取值: 鍵值對(duì) 根據(jù)冒號(hào)左邊內(nèi)容[鍵], 提取冒號(hào)右邊的內(nèi)容[值]

    # 定義文件名 整型
    num = 1
    # for循環(huán)遍歷, 把列表里面元素一個(gè)一個(gè)提取出來(lái)
    for index in response.json()['data']['relateDoc']:
        # index 字典呀
        pic = index['pic']
        print(pic)
        # # 4. 保存數(shù)據(jù)  發(fā)送請(qǐng)求 + 獲取數(shù)據(jù) 二進(jìn)制數(shù)據(jù)內(nèi)容
        # img_content = requests.get(url=pic, headers=headers).content
        # # 'img\\'<文件夾名字> + str(num)<文件名> + '.jpg'<文件后綴>  mode='wb' 保存方式, 二進(jìn)制保存
        # # str(num) 強(qiáng)制轉(zhuǎn)換成 字符串
        # # '圖片\\' 相對(duì)路徑, 相對(duì)于你代碼的路徑 你代碼在那個(gè)地方, 那個(gè)代碼所在地方圖片文件夾
        # with open('圖片\\' + str(num) + '.jpg', mode='wb') as f:
        #     # 寫(xiě)入數(shù)據(jù) 保存數(shù)據(jù)  把圖片二進(jìn)制數(shù)據(jù)保存
        #     f.write(img_content)
        # # 每次循環(huán) + 1
        # print(num)
        # num += 1

以上就是Python實(shí)現(xiàn)復(fù)制文檔數(shù)據(jù)的詳細(xì)內(nèi)容,更多關(guān)于Python復(fù)制文檔數(shù)據(jù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python 利用pandas和mysql-connector獲取Excel數(shù)據(jù)寫(xiě)入到MySQL數(shù)據(jù)庫(kù)

    Python 利用pandas和mysql-connector獲取Excel數(shù)據(jù)寫(xiě)入到MySQL數(shù)據(jù)庫(kù)

    在實(shí)際應(yīng)用中,我們可能需要將Excel表格中的數(shù)據(jù)導(dǎo)入到MySQL數(shù)據(jù)庫(kù)中,以便于進(jìn)行進(jìn)一步的數(shù)據(jù)分析和處理,本文將介紹如何使用Python將Excel表格中的數(shù)據(jù)插入到MySQL數(shù)據(jù)庫(kù)中,需要的朋友可以參考下
    2023-10-10
  • Matplotlib快速入門(mén)指南(適合小白)

    Matplotlib快速入門(mén)指南(適合小白)

    這篇文章主要給大家介紹了關(guān)于Matplotlib快速入門(mén)指南的相關(guān)資料,Matplotlib是一個(gè)非常強(qiáng)大的Python畫(huà)圖工具,支持跨平臺(tái)運(yùn)行,它不僅是Python常用的2D繪圖庫(kù),同時(shí)它也提供了一部分3D繪圖接口,需要的朋友可以參考下
    2023-09-09
  • python3 簡(jiǎn)單實(shí)現(xiàn)組合設(shè)計(jì)模式

    python3 簡(jiǎn)單實(shí)現(xiàn)組合設(shè)計(jì)模式

    這篇文章主要介紹了python3 簡(jiǎn)單實(shí)現(xiàn)組合設(shè)計(jì)模式的方法,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • pytorch __init__、forward與__call__的用法小結(jié)

    pytorch __init__、forward與__call__的用法小結(jié)

    這篇文章主要介紹了pytorch __init__、forward與__call__的用法小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • 淺談python多進(jìn)程共享變量Value的使用tips

    淺談python多進(jìn)程共享變量Value的使用tips

    今天小編就為大家分享一篇淺談python多進(jìn)程共享變量Value的使用tips,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • Python googletrans庫(kù)使用示例詳解

    Python googletrans庫(kù)使用示例詳解

    googletrans是一個(gè)基于谷歌翻譯API的Python庫(kù),支持多種語(yǔ)言的自動(dòng)檢測(cè)和翻譯,提供了translate和detect方法,用于翻譯文本和檢測(cè)文本語(yǔ)言,通過(guò)簡(jiǎn)單的命令即可安裝使用,適合需要實(shí)現(xiàn)多語(yǔ)言翻譯功能的開(kāi)發(fā)者
    2024-09-09
  • Python數(shù)據(jù)結(jié)構(gòu)與算法之使用隊(duì)列解決小貓釣魚(yú)問(wèn)題

    Python數(shù)據(jù)結(jié)構(gòu)與算法之使用隊(duì)列解決小貓釣魚(yú)問(wèn)題

    這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)與算法之使用隊(duì)列解決小貓釣魚(yú)問(wèn)題,結(jié)合實(shí)例形式分析了Python使用隊(duì)列實(shí)現(xiàn)小貓釣魚(yú)游戲的算法操作技巧,代碼中備有較為詳盡的注釋便于讀者理解,需要的朋友可以參考下
    2017-12-12
  • 代碼解析python標(biāo)準(zhǔn)庫(kù)logging模塊

    代碼解析python標(biāo)準(zhǔn)庫(kù)logging模塊

    這篇文章主要為大家介紹了代碼解析python標(biāo)準(zhǔn)庫(kù)logging模塊,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 一文掌握Python正則表達(dá)式

    一文掌握Python正則表達(dá)式

    這篇文章主要介紹了Python正則表達(dá)式的相關(guān)知識(shí),主要包括re模塊的使用及正則表達(dá)式基礎(chǔ)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • 解決Tensorflow2.0 tf.keras.Model.load_weights() 報(bào)錯(cuò)處理問(wèn)題

    解決Tensorflow2.0 tf.keras.Model.load_weights() 報(bào)錯(cuò)處理問(wèn)題

    這篇文章主要介紹了解決Tensorflow2.0 tf.keras.Model.load_weights() 報(bào)錯(cuò)處理問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨想過(guò)來(lái)看看吧
    2020-06-06

最新評(píng)論