濮阳杆衣贸易有限公司

主頁 > 知識庫 > Python爬蟲之爬取某文庫文檔數據

Python爬蟲之爬取某文庫文檔數據

熱門標簽:房產電銷外呼系統(tǒng) 地圖標注微信發(fā)送位置不顯示 南京銷售外呼系統(tǒng)軟件 浙江電銷卡外呼系統(tǒng)好用嗎 蓋州市地圖標注 上海機器人外呼系統(tǒng)哪家好 315電話機器人廣告 地圖制圖標注位置改變是移位嗎 地圖標注的意義點

一、基本開發(fā)環(huán)境

Python 3.6

Pycharm

二、相關模塊的使用

import os
import requests
import time
import re
import json
from docx import Document
from docx.shared import Cm

安裝Python并添加到環(huán)境變量,pip安裝需要的相關模塊即可。

三、目標網頁分析

網站的文檔內容,都是以圖片形式存在的。它有自己的數據接口

接口鏈接:

https://openapi.book118.com/getPreview.html?project_id=1aid=272112230t=f2c66902d6b63726d8e08b557fef90fbview_token=SqX7ktrZ_ZakjDI@vcohcCwbn_PLb3C1page=1callback=jQuery18304186406662159248_1614492889385_=1614492889486

接口的請求參數

四、整體思路

  • 請求網頁返回response數據(字符串)
  • 通過re模塊匹配提取中間的數據(列表)索引取0(字符串)
  • 通過json模塊是把提取出來的數據轉換成json模塊
  • 通過遍歷獲取每張圖片的url地址
  • 保存圖片到本地文件夾
  • 把圖片保存到word文檔
  • 爬蟲代碼實現

五、爬蟲代碼實現

def download():
    content = 0
    for page in range(1, 96, 6):
        # 給定 2秒延時
        time.sleep(2)
        # 獲取時間戳
        now_time = int(time.time() * 1000)
        url = 'https://openapi.book118.com/getPreview.html'
        # 請求參數
        params = {
            'project_id': '1',
            'aid': '272112230',
            't': 'f2c66902d6b63726d8e08b557fef90fb',
            'view_token': 'SqX7ktrZ_ZakjDI@vcohcCwbn_PLb3C1',
            'page': f'{page}',
            '_': now_time,
        }
        # 請求頭
        headers = {
            'Host': 'openapi.book118.com',
            'Referer': 'https://max.book118.com/html/2020/0427/8026036013002110.shtm',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
        }
        response = requests.get(url=url, params=params, headers=headers)
        # 使用正則表達式提取內容
        result = re.findall('jsonpReturn\((.*?)\)', response.text)[0]
        # 字符串轉json數據
        json_data = json.loads(result)['data']
        # 字典值的遍歷
        for value in json_data.values():
            content += 1
            # 拼接圖片url
            img_url = 'http:' + value
            print(img_url)
            headers_1 = {
                'Host': 'view-cache.book118.com',
                'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
            }
            # 請求圖片url地址 獲取content二進制數據
            img_content = requests.get(url=img_url, headers=headers_1).content
            # 文件名
            img_name = str(content) + '.jpg'
            # 保存路徑
            filename = 'img\\'
            # 以二進制方式保存 (圖片、音頻、視頻等文件都是以二進制的方式保存)
            with open(filename + img_name, mode='wb') as f:
                f.write(img_content)

注意點:

1、一定要給延時,不然后面接口數據會請求不到。

2、請求圖片url的時候headers參數需要寫完整,否則保存圖片是無法打開的

3、命名最好是給定數字,1.jpg、2.jpg 這樣,方便后續(xù)保存到word

爬蟲部分的代碼還是比較簡單的,沒有什么特別的難度。

爬取這些文檔,都是需要打印或者查詢所以要把這些單張的圖片都保存到word文檔里面。

六、寫入文檔

def save_picture():
    document = Document()
    path = './img/'
    lis = os.listdir(path)
    c = []
    for li in lis:
        index = li.replace('.jpg', '')
        c.append(index)
    c_1 = sorted(list(map(int, c)))
    print(c_1)
    new_files = [(str(i) + '.jpg') for i in c_1]
    for num in new_files:
        img_path = path + num
        document.add_picture(img_path, width=Cm(17), height=Cm(24))
        document.save('tu.doc')  # 保存文檔
        os.remove(img_path)  # 刪除保存在本地的圖片

到此這篇關于Python爬蟲之爬取某文庫文檔數據的文章就介紹到這了,更多相關python爬取文檔數據內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python爬取股票信息,并可視化數據的示例
  • Python爬取數據并實現可視化代碼解析
  • python如何爬取網站數據并進行數據可視化
  • 高考要來啦!用Python爬取歷年高考數據并分析
  • 單身狗福利?Python爬取某婚戀網征婚數據
  • Python爬蟲之自動爬取某車之家各車銷售數據
  • Python爬蟲之爬取2020女團選秀數據
  • python爬蟲之教你如何爬取地理數據
  • Python爬蟲實戰(zhàn)之爬取京東商品數據并實實現數據可視化

標簽:雙鴨山 貴州 陽泉 克拉瑪依 赤峰 臨汾 日照 金華

巨人網絡通訊聲明:本文標題《Python爬蟲之爬取某文庫文檔數據》,本文關鍵詞  Python,爬蟲,之爬,取某,文庫,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python爬蟲之爬取某文庫文檔數據》相關的同類信息!
  • 本頁收集關于Python爬蟲之爬取某文庫文檔數據的相關信息資訊供網民參考!
  • 推薦文章
    拉萨市| 安徽省| 邻水| 阳曲县| 浙江省| 常宁市| 稻城县| 松原市| 平潭县| 阜南县| 剑阁县| 抚远县| 泸定县| 三门峡市| 鄂托克前旗| 大兴区| 栾川县| 彭山县| 宾阳县| SHOW| 清涧县| 孝昌县| 临猗县| 荥经县| 沈丘县| 蕉岭县| 万荣县| 滨州市| 杨浦区| 炎陵县| 开远市| 绥江县| 错那县| 彝良县| 项城市| 闽清县| 侯马市| 舞阳县| 得荣县| 商丘市| 福清市|