首页 > 编程语言 >python 爬取原力文档日语学习资料

python 爬取原力文档日语学习资料

时间:2023-06-18 21:11:15浏览次数:47  
标签:原力 python text data 爬取 url token parameter page

参考

https://blog.csdn.net/weixin_46184311/article/details/115291441

代码

import requests, json, re, time, urllib.request
import time
import wget


def getParameter(url):  # 获取文档参数
    text_response = requests.get(url=url, headers=headers).text
    actual_page = int(re.search('actual_page: (\d+), //真实页数', text_response).group(1))  # 页数
    aid = re.search('aid: (\d+), //解密后的id', text_response).group(1)  # aid
    view_token = re.search('view_token: \'(.*?)\'', text_response).group(1)  # view_token
    print('actual_page:', actual_page, '\naid:', aid, '\nview_token:', view_token)
    return actual_page, aid, view_token


def requests_data(parameter, page):  # 请求数据
    url = 'https://openapi.book118.com/getPreview.html'
    params = {
        'project_id': '1',
        'aid': parameter[1],
        'view_token': parameter[2],
        'page': page,
    }
    response = requests.get(url=url, headers=headers, params=params).text
    json_data = re.search('jsonpReturn\((.*?)\);', response).group(1)  # 使用正则表达式所需数据
    data = json.loads(json_data)['data']
    return data



if __name__ == '__main__':
    results = []
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'}
    text_url = 'https://max.book118.com/html/2023/0208/6230222112005044.shtm'
    parameter = getParameter(text_url)
    print(parameter)
    for page in range(1, parameter[0]+1, 6):
        print(page)
        result = requests_data(parameter, page)
        print(result)
        for id, url in result.items():
            url = 'https:'+url
            print(f'downloading: {id}, {url} ')
            wget.download(url=url, out=f'imgs/{id}.png')
        time.sleep(1)

标签:原力,python,text,data,爬取,url,token,parameter,page
From: https://www.cnblogs.com/urahyou/p/17489758.html

相关文章

  • 工作提效--python实现批量音频裁剪工具
    一、问题:大批量的音频测试文件,无法满足测试需求项目测试需要往平台中上传一批音频文件进行算法测试,平台规定的音频的时长必须在10-30s内,而从算法开发人员那里获取到的3000条音频文件都是32s时长,因此无法将测试数据上传到平台进行测试。基于以上问题,需要在项目体测之前将3000......
  • python+tkinter开发2048游戏
    1.界面设计如果开发这个游戏,相信一定玩过。这里不过多介绍。我最后的效果。2.代码importrandomimporttkinterastkfromtkinterimportmessageboxfromtkinter.constantsimportW,N,E,Sdefrandom_2()->bool:"""在空位置随机生成一个2:ret......
  • python 并发编程-3
    Python中的并发编程-3爬虫是典型的I/O密集型任务,I/O密集型任务的特点就是程序会经常性的因为I/O操作而进入阻塞状态,比如我们之前使用requests获取页面代码或二进制内容,发出一个请求之后,程序必须要等待网站返回响应之后才能继续运行,如果目标网站不是很给力或者网络状况不是很......
  • Python之异常处理
    try: 可能会出现异常的代码except你要捕捉的异常1处理: 对这个异常的处理except你要捕捉的异常2处理: 对这个异常的处理else: 没出现异常时做的处理finally: 不管有没有出现异常,都会执行的代码#else,finally这些词的顺序不可以变importsystry:n=int(input()......
  • 【Python】在同一图形中更加优雅地绘制多个子图
    1.引言数据可视化非常重要,有一句俗语叫做一图顶千言,我相信好多小伙伴应该都听说过这句话;即使是有人第一次听到,我想应该也会觉得赞成,这足以说明数据可视化的重要性。我们在前一篇博客中,介绍了如何利用subplot来在一张子图里绘制多个子图,最近我又发现了一种更加优雅地实现,迫不及待地......
  • Python编程和数据科学中的数据处理:如何从数据中提取有用的信息和数据
    目录引言数据分析和数据处理是数据科学和人工智能领域的核心话题之一。数据科学家和工程师需要从大量的数据中提取有用的信息和知识,以便更好地理解和预测现实世界中的事件。本文将介绍Python编程和数据科学中的数据处理技术,帮助读者从数据中提取有用的信息和数据。技术原理......
  • Python编程和数据科学中的人工智能:如何创建复杂的智能系统并提高模型性能
    目录1.引言2.技术原理及概念3.实现步骤与流程4.应用示例与代码实现讲解标题:《Python编程和数据科学中的人工智能:如何创建复杂的智能系统并提高模型性能》1.引言人工智能(AI)是一个广泛的领域,涵盖了许多不同的技术和应用。在Python编程和数据科学中,人工智能是一个非常重要......
  • Python编程和数据科学中的大数据分析:如何从大量数据中提取有意义的信息和模式
    目录《Python编程和数据科学中的大数据分析:如何从大量数据中提取有意义的信息和模式》引言大数据时代已经来临,随着互联网和物联网的普及,海量数据的产生和存储已经成为一种普遍的现象。这些数据包含各种各样的信息,如文本、图像、音频和视频等,而大数据分析则是将这些海量数据中提......
  • python常用操作之代码操作大全
    目录列表操作大全(listoperations)字典操作大全(dictionaryoperations)表格操作大全(DataFrameoperations)MySQL操作大全(MySQLoperations)列表操作大全(listoperations)字典操作大全(dictionaryoperations)表格操作大全(DataFrameoperations)MySQL操作大全(MySQLoper......
  • Python和C++之间的主要区别点?
    Python和C++之间的区别可以简洁地概括如下:编程范式:Python是一种解释型、面向对象的动态语言,更注重代码的简洁性和可读性,适合快速开发和原型设计。C++是一种编译型、多范式语言,支持面向对象、过程式和泛型编程,更注重底层的控制和性能优化。语法复杂性:C++具有较为复杂的语法和......