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

Python采集某網(wǎng)站文檔并保存word格式的示例

 更新時(shí)間:2023年07月19日 11:26:33   作者:輕松學(xué)Python  
這篇文章主要介紹了Python采集某網(wǎng)站文檔并保存word格式的示例,我們平常需要下載文檔的時(shí)候,是不是發(fā)現(xiàn),要么不能下載,要么不能復(fù)制,那么我們今天來(lái)分享一下,如何用Python將這些不給下載的文檔給批量下載下來(lái),需要的朋友可以參考下

準(zhǔn)備工作

今天來(lái)分享一下,如何用Python將這些不給下載的文檔給批量下載下來(lái)。

開(kāi)發(fā)環(huán)境

python 3.8
pycharm

模塊使用

兩個(gè)需要安裝的第三方模塊,安裝命令也寫(xiě)出來(lái)了。

requests --> pip install requests
re
base64
docx --> pip install python-docx

實(shí)現(xiàn)思路

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

1.明確需求

明確采集網(wǎng)址以及數(shù)據(jù)內(nèi)容是什么?

網(wǎng)址: https://www.***.com/p-3282300896.html

數(shù)據(jù): 文檔內(nèi)容

2.抓包分析

我們需要數(shù)據(jù)內(nèi)容是可以請(qǐng)求那個(gè)鏈接能夠得到

文檔形式: 圖片樣式
通過(guò)瀏覽器自帶工具: 開(kāi)發(fā)者工具抓包
打開(kāi)開(kāi)發(fā)者工具: F12 / 右鍵點(diǎn)擊檢查選擇network
刷新網(wǎng)頁(yè)
開(kāi)發(fā)者工具搜索: docinpic
文檔圖片數(shù)據(jù)
鏈接: http://221.122.117.73/docinpic.jsp
sid: P1ekRarOT5ID*deCCfQPHapgA9Z5X3NNn0xfBxPIDApUnSY9yIVtfuxey1BsO1BG <獲取>
file: 文檔ID <可以自己獲取>
width: 圖片分辨率
pageno: 頁(yè)碼 <可以用for循環(huán)>

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

  1. 發(fā)送請(qǐng)求, 模擬瀏覽器對(duì)于 文檔頁(yè)面url地址 發(fā)送請(qǐng)求
    請(qǐng)求鏈接: https://www.***.com/p-3282300896.html
  2. 獲取數(shù)據(jù), 獲取服務(wù)器返回響應(yīng)數(shù)據(jù)
  3. 解析數(shù)據(jù), 提取我們需要的內(nèi)容:
    sid參數(shù) / 文檔頁(yè)數(shù) / 文檔名稱
    構(gòu)建文檔圖片鏈接
  4. 保存數(shù)據(jù), 把文檔圖片內(nèi)容保存下來(lái)

通過(guò)文字識(shí)別, 把圖片里面文字識(shí)別出來(lái), 保存文檔里面就可以了

使用百度云API接口:

1. 注冊(cè)登陸百度云API
2. 選擇文字識(shí)別, 創(chuàng)建應(yīng)用, 領(lǐng)取免費(fèi)資源, 點(diǎn)擊技術(shù)文檔
3. 先獲取token值
4. API調(diào)用的文檔代碼

代碼展示

文字識(shí)別

doc = Document()
def Content(content):
    url = "https://a***.com/oauth/2.0/token?grant_type=client_credentials&client_id=xxxx&client_secret=xxxx"
    payload = ""
    headers = {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    }
    response = requests.request("POST", url, headers=headers, data=payload)
    access_token = response.json()['access_token']
    request_url = "https://***.com/rest/2.0/ocr/v1/accurate_basic"
    # 二進(jìn)制方式打開(kāi)圖片文件
    # f = open('img\\1 計(jì)算機(jī)概述1.jpg', 'rb')
    img = base64.b64encode(content)
    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()
    words_result = '\n'.join([i['words'] for i in json_data['words_result']])
    print(words_result)

發(fā)送請(qǐng)求

# 模擬瀏覽器 --> 字典數(shù)據(jù)類型 --> 鍵:值
headers = {
    # User-Agent 用戶代理 表示瀏覽器基本身份信息
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
}
# 請(qǐng)求鏈接
url = 'https://www.***.com/p-3282300896.html'
# 發(fā)送請(qǐng)求
response = requests.get(url=url, headers=headers)

獲取數(shù)據(jù)、解析數(shù)據(jù)

# 獲取網(wǎng)頁(yè)數(shù)據(jù)
html_data = response.text
# 提取sid參數(shù)
sid = re.findall('flash_param_hzq:"(.*?)",', html_data)[0]
# 提取名字
name = re.findall('productName:"(.*?)",', html_data)[0]
# 提取頁(yè)碼
num = re.findall('<em>(\d+)</em>頁(yè)</span>', html_data)[0]
# 構(gòu)建完整圖片鏈接
content_list = []
for page in range(1, int(num)+1):
    # 字符串格式化方法
    img = f'http://221.122.117.73/docinpic.jsp?sid={sid}&file=3282300896&width=942&pageno={page}'

保存數(shù)據(jù), 把文檔圖片內(nèi)容保存下來(lái)

# 發(fā)送請(qǐng)求, 獲取二進(jìn)制數(shù)據(jù)<圖片內(nèi)容>
img_content = requests.get(url=img, headers=headers).content
words = Content(img_content)
doc.add_paragraph(words)

到此這篇關(guān)于Python采集某網(wǎng)站文檔并保存word格式的示例的文章就介紹到這了,更多相關(guān)Python采集網(wǎng)站文檔保存內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Python中Pygame鍵盤事件

    詳解Python中Pygame鍵盤事件

    今天給大家?guī)?lái)的是關(guān)于Python的相關(guān)知識(shí),文章圍繞著Pygame鍵盤事件展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Python函數(shù)默認(rèn)返回None的原因及分析

    Python函數(shù)默認(rèn)返回None的原因及分析

    Python函數(shù)默認(rèn)返回None是因?yàn)樵谡Z(yǔ)法層面,解釋器會(huì)主動(dòng)地為沒(méi)有return語(yǔ)句的函數(shù)添加一個(gè)返回邏輯,返回值為None
    2024-11-11
  • Python?add()集合中添加元素的實(shí)現(xiàn)

    Python?add()集合中添加元素的實(shí)現(xiàn)

    本文主要介紹了Python?add()集合中添加元素的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • python使用for循環(huán)和海龜繪圖實(shí)現(xiàn)漂亮螺旋線

    python使用for循環(huán)和海龜繪圖實(shí)現(xiàn)漂亮螺旋線

    這篇文章主要為大家介紹了python使用for循環(huán)和海龜繪圖實(shí)現(xiàn)漂亮螺旋線實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Python高級(jí)特性——詳解多維數(shù)組切片(Slice)

    Python高級(jí)特性——詳解多維數(shù)組切片(Slice)

    今天小編就為大家分享一篇Python高級(jí)特性——詳解多維數(shù)組切片(Slice),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • 利用python將圖片轉(zhuǎn)換成excel文檔格式

    利用python將圖片轉(zhuǎn)換成excel文檔格式

    編寫(xiě)了一小段Python代碼,將圖片轉(zhuǎn)為了Excel,純屬娛樂(lè),下面這篇文章主要給大家介紹了關(guān)于利用python將圖片轉(zhuǎn)換成excel文檔格式的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-12-12
  • python 使用MyQR和qrcode來(lái)制作二維碼

    python 使用MyQR和qrcode來(lái)制作二維碼

    這篇文章主要介紹了python 如何使用MyQR和qrcode來(lái)制作二維碼,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-05-05
  • Python常用特殊方法實(shí)例總結(jié)

    Python常用特殊方法實(shí)例總結(jié)

    這篇文章主要介紹了Python常用特殊方法,結(jié)合實(shí)例形式總結(jié)分析了Python常見(jiàn)的__init__、__new__、__del__、__str__、__repr__等特殊方法與描述符相關(guān)功能及使用技巧,需要的朋友可以參考下
    2019-03-03
  • python代碼實(shí)現(xiàn)備忘錄案例講解

    python代碼實(shí)現(xiàn)備忘錄案例講解

    這篇文章主要介紹了python代碼實(shí)現(xiàn)備忘錄案例講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • Python Paramiko創(chuàng)建文件目錄并上傳文件詳解

    Python Paramiko創(chuàng)建文件目錄并上傳文件詳解

    Paramiko是一個(gè)用于進(jìn)行SSH2會(huì)話的Python庫(kù),它支持加密、認(rèn)證和文件傳輸?shù)裙δ?本文旨在詳細(xì)指導(dǎo)新手朋友如何使用Python的Paramiko庫(kù)來(lái)創(chuàng)建遠(yuǎn)程文件目錄并上傳文件,希望對(duì)大家有所幫助
    2024-10-10

最新評(píng)論