介绍
使用Python怎么爬取某文库文档数据?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
Python是什么意思
Python是一种跨平台的,具有解释性,编译性,互动性和面向对象的脚本语言,其最初的设计是用于编写自动化脚本,随着版本的不断更新和新功能的添加,常用于用于开发独立的项目和大型项目。
一、基本开发环境Python 3.6
Pycharm
二、相关模块的使用
import 操作系统 import 请求 import 时间 import 再保险 import json 得到docx import 文档 得到docx.shared import 厘米
安装Python并添加到环境变量,pip安装需要的相关模块即可。
三目标网页分析
网站的文档内容,都是以图片形式存在的。它有自己的数据接口
接口链接:
https://openapi.book118.com/getPreview.html?& project_id=1,援助=272112230,t=f2c66902d6b63726d8e08b557fef90fb& view_token=SqX7ktrZ_ZakjDI@vcohcCwbn_PLb3C1&页面=1,回调=jQuery18304186406662159248_1614492889385& _=1614492889486
接口的请求参数
四、整体思路
- <李>
请求网页返回响应数据(字符串)
李> <李>通过再保险模块匹配提取中间的数据(列表)索引取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怎么爬取某文库文档数据