使用Python怎么爬取某文库文档数据

  介绍

使用Python怎么爬取某文库文档数据?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

Python是什么意思

Python是一种跨平台的,具有解释性,编译性,互动性和面向对象的脚本语言,其最初的设计是用于编写自动化脚本,随着版本的不断更新和新功能的添加,常用于用于开发独立的项目和大型项目。

一、基本开发环境Python 3.6

Pycharm

二、相关模块的使用

import 操作系统   import 请求   import 时间   import 再保险   import  json   得到docx  import 文档   得到docx.shared  import 厘米

安装Python并添加到环境变量,pip安装需要的相关模块即可。

三目标网页分析

使用Python怎么爬取某文库文档数据

网站的文档内容,都是以图片形式存在的。它有自己的数据接口

接口链接:

https://openapi.book118.com/getPreview.html?& project_id=1,援助=272112230,t=f2c66902d6b63726d8e08b557fef90fb& view_token=SqX7ktrZ_ZakjDI@vcohcCwbn_PLb3C1&页面=1,回调=jQuery18304186406662159248_1614492889385& _=1614492889486

接口的请求参数

使用Python怎么爬取某文库文档数据

四、整体思路

<李>

请求网页返回响应数据(字符串)

<李>

通过再保险模块匹配提取中间的数据(列表)索引取0(字符串)

<李>

通过json模块是把提取出来的数据转换成json模块

<李>

通过遍历获取每张图片的url地址

<李>

保存图片到本地文件夹

<李>

把图片保存到词文档

<李>

爬虫代码实现

五,爬虫代码实现

def 下载():   ,,,content =0   ,,,for  page 拷贝范围(1),96年,6):   ,,,,,,,#,给定,2秒延时   ,,,,,,,time . sleep (2)   ,,,,,,,#,获取时间戳   ,,,,,,,now_time =, int (time.time (), *, 1000)   ,,,,,,,url =, & # 39; https://openapi.book118.com/getPreview.html& # 39;   ,,,,,,,#,请求参数   ,,,,,,,params =, {   ,,,,,,,,,,,& # 39;project_id& # 39;:, & # 39; 1 & # 39;   ,,,,,,,,,,,& # 39;援助# 39;:,& # 39;272112230 & # 39;   ,,,,,,,,,,,& # 39;t # 39;:, & # 39; f2c66902d6b63726d8e08b557fef90fb& # 39;   ,,,,,,,,,,,& # 39;view_token& # 39;:, & # 39; SqX7ktrZ_ZakjDI@vcohcCwbn_PLb3C1& # 39;   ,,,,,,,,,,,& # 39;页面# 39;:,f # 39;{页面}& # 39;   ,,,,,,,,,,,& # 39;_ # 39;:,now_time,   ,,,,,,,}   ,,,,,,,#,请求头   ,,,,,,,headers =, {   ,,,,,,,,,,,& # 39;主机# 39;:,& # 39;openapi.book118.com& # 39;   ,,,,,,,,,,,& # 39;推荐人# 39;:,& # 39;https://max.book118.com/html/2020/0427/8026036013002110.shtm& # 39;   ,,,,,,,,,,,& # 39;用户代理# 39;:,& # 39;Mozilla/5.0, (Windows  NT  10.0;, WOW64), AppleWebKit/537.36, (KHTML, like 壁虎),Chrome/81.0.4044.138  Safari/537.36 & # 39;   ,,,,,,,}   ,,,,,,,response =, requests.get (url=url, params=params,标题=标题)   ,,,,,,,#,使用正则表达式提取内容   ,,,,,,,result =, re.findall (& # 39; jsonpReturn \ ((. * ?) \) & # 39;,, response.text) [0]   ,,,,,,,#,字符串转json数据   ,,,,,,,json_data =, json.loads(结果)(& # 39;数据# 39;】   ,,,,,,,#,字典值的遍历   ,,,,,,,for  value 拷贝json_data.values ():   ,,,,,,,,,,,content  +=1   ,,,,,,,,,,,#,拼接图片url   ,,,,,,,,,,,img_url =, & # 39; http: & # 39; +,价值   ,,,,,,,,,,,印刷(img_url)   ,,,,,,,,,,,headers_1 =, {   ,,,,,,,,,,,,,,,& # 39;主机# 39;:,& # 39;view-cache.book118.com& # 39;   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

使用Python怎么爬取某文库文档数据