python爬虫 批量下载zabbix文档代码实例


Posted in Python onAugust 21, 2019

这篇文章主要介绍了python爬虫 批量下载zabbix文档代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

# -*- coding: UTF-8 -*-
import requests,re,time
url = 'https://www.zabbix.com/documentation/3.4/zh/manual'
base_url = 'https://www.zabbix.com/documentation/3.4/'
seconds = 1
err_url = []
def get_urls():
  res = requests.get(url)
  content = res.text
  pattern = re.compile(r"indexmenu_4848130395ca30b274d8bd.add[(]'(zh/manual.*?)[']", re.S)
  routes = pattern.findall(content)
  urls = [base_url+item for item in routes]
  return urls 
def download(url):
  download_url = url + "?do=export_pdf"
  print("当前下载url:")
  print(download_url)
  res = requests.get(url)
  if res.status_code == 200 :
    pattern = re.compile(r"<title>(.*?)</title>", re.S)
    title = pattern.findall(res.text)[0].encode("utf-8")
    try:
      filename = title.replace('\\','-').replace('/','-').replace('"','-').replace('*','-').replace('?','-').replace(':','-').replace('<','-').replace('>','-').replace('|','-')
    except Exception:
       title = pattern.findall(res.text)[0]
    filename = title.replace('\\','-').replace('/','-').replace('"','-').replace('*','-').replace('?','-').replace(':','-').replace('<','-').replace('>','-').replace('|','-')
    file = filename + '.pdf'
    res = requests.get(download_url)
    if res.status_code == 200 :
      with open(file,"wb") as f:
        f.write(res.content)
      print('下载成功')
    else:
      print('下载失败')
      err_url.append(download_url)
  else:
    print('获取文件名失败,停止当前下载')
    err_url.append(download_url) 
def downloads(urls):
  for url in urls:
    download(url)
    time.sleep( seconds )
  if len(err_url) :
    print("下载失败的URL:")
    print(err_url) 
def main():
  print("下载开始")
  urls = get_urls()
  downloads(urls)
  print("下载完成") 
if __name__ == '__main__':
  main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
通过C++学习Python
Jan 20 Python
微信跳一跳python辅助软件思路及图像识别源码解析
Jan 04 Python
Python+PyQt5实现美剧爬虫可视工具的方法
Apr 25 Python
python3.6环境安装+pip环境配置教程图文详解
Jun 20 Python
使用Python Pandas处理亿级数据的方法
Jun 24 Python
提升Python效率之使用循环机制代替递归函数
Jul 23 Python
Pytorch数据拼接与拆分操作实现图解
Apr 30 Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
Jul 21 Python
记一次Django响应超慢的解决过程
Sep 17 Python
Python自动化办公Excel模块openpyxl原理及用法解析
Nov 05 Python
python+excel接口自动化获取token并作为请求参数进行传参操作
Nov 10 Python
python爬虫中抓取指数的实例讲解
Dec 01 Python
Django 在iframe里跳转顶层url的例子
Aug 21 #Python
Python产生一个数值范围内的不重复的随机数的实现方法
Aug 21 #Python
django写用户登录判定并跳转制定页面的实例
Aug 21 #Python
Django自定义模板过滤器和标签的实现方法
Aug 21 #Python
扩展Django admin的list_filter()可使用范围方法
Aug 21 #Python
python机器学习包mlxtend的安装和配置详解
Aug 21 #Python
python 画出使用分类器得到的决策边界
Aug 21 #Python
You might like
Linux下进行MYSQL编程时插入中文乱码的解决方案
2007/03/15 PHP
php邮件发送,php发送邮件的类
2011/03/24 PHP
JS的IE和Firefox兼容性集锦
2006/12/11 Javascript
基于JQuery实现的类似购物商城的购物车
2011/12/06 Javascript
JSON.stringify 语法实例讲解
2012/03/14 Javascript
你未必知道的JavaScript和CSS交互的5种方法
2014/04/02 Javascript
最好用的Bootstrap fileinput.js文件上传组件
2016/12/12 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
d3.js入门教程之数据绑定详解
2017/04/28 Javascript
浅谈struts1 &amp; jquery form 文件异步上传
2017/05/25 jQuery
jQuery事件多次绑定与解绑问题实例分析
2019/02/19 jQuery
弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】
2019/08/07 Javascript
jquery实现垂直手风琴导航栏
2020/02/18 jQuery
package.json各个属性说明详解
2020/03/11 Javascript
Python time模块详解(常用函数实例讲解,非常好)
2014/04/24 Python
Python isinstance函数介绍
2015/04/14 Python
Python文件操作基本流程代码实例
2017/12/11 Python
Python 记录日志的灵活性和可配置性介绍
2018/02/27 Python
python读取TXT每行,并存到LIST中的方法
2018/10/26 Python
python os模块简单应用示例
2019/05/23 Python
Python判断字符串是否为合法标示符操作
2020/09/03 Python
用python计算文件的MD5值
2020/12/23 Python
Yves Rocher伊夫·黎雪美国官网:法国始创植物美肌1959
2019/01/09 全球购物
The North Face北面法国官网:美国著名户外品牌
2019/11/01 全球购物
施惠特软件测试面试题以及笔试题
2015/05/13 面试题
社区食品安全实施方案
2014/03/28 职场文书
电气工程及其自动化专业毕业生自荐信
2014/06/21 职场文书
2014年团支书工作总结
2014/11/14 职场文书
迎新生欢迎词
2015/01/23 职场文书
我的中国梦主题教育活动总结
2015/05/07 职场文书
毕业证明书
2015/06/19 职场文书
七一表彰大会简报
2015/07/20 职场文书
2016年九九重阳节活动总结
2016/04/01 职场文书
go mod 安装依赖 unkown revision问题的解决方案
2021/05/06 Golang
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python
python中 Flask Web 表单的使用方法
2022/05/20 Python