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 相关文章推荐
Python 调用VC++的动态链接库(DLL)
Sep 06 Python
pymongo实现控制mongodb中数字字段做加法的方法
Mar 26 Python
Python json模块使用实例
Apr 11 Python
python&amp;MongoDB爬取图书馆借阅记录
Feb 05 Python
Python设计模式之MVC模式简单示例
Jan 10 Python
使用python 3实现发送邮件功能
Jun 15 Python
python实现机器学习之元线性回归
Sep 06 Python
python实现的多任务版udp聊天器功能案例
Nov 13 Python
python socket 聊天室实例代码详解
Nov 14 Python
flask实现验证码并验证功能
Dec 05 Python
用opencv给图片换背景色的示例代码
Jul 08 Python
Django中如何用xlwt生成表格的方法步骤
Jan 31 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
虹吸式咖啡壶操作
2021/03/03 冲泡冲煮
php下一个阿拉伯数字转中文数字的函数
2007/07/16 PHP
php递归创建目录的方法
2015/02/02 PHP
使用Json比用string返回数据更友好,也更面向对象一些
2011/09/13 Javascript
ajax处理php返回json数据的实例代码
2013/01/24 Javascript
Javascript浅谈之this
2013/12/17 Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
2014/08/07 Javascript
iframe里面的元素触发父窗口元素事件的jquery代码
2014/10/19 Javascript
javascript变量声明实例分析
2015/04/25 Javascript
Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
2016/02/02 Javascript
浅谈JavaScript的内置对象和浏览器对象
2016/06/03 Javascript
Javascript 实现全屏滚动实例代码
2016/12/31 Javascript
激动人心的 Angular HttpClient的源码解析
2017/07/10 Javascript
解决layui数据表格排序图标被超出的表头挤出去的问题
2019/09/19 Javascript
如何在微信小程序中存setStorage
2019/12/13 Javascript
手把手带你入门微信小程序新框架Kbone的使用
2020/02/25 Javascript
Vue+scss白天和夜间模式切换功能的实现方法
2021/01/05 Vue.js
[55:18]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python实现同时给多个变量赋值的方法
2015/04/30 Python
Python中 Lambda表达式全面解析
2016/11/28 Python
浅谈python中的占位符
2017/11/09 Python
对Python 文件夹遍历和文件查找的实例讲解
2018/04/26 Python
pytorch + visdom CNN处理自建图片数据集的方法
2018/06/04 Python
使用Python实现毫秒级抢单功能
2019/06/06 Python
python字符串常用方法及文件简单读写的操作方法
2020/03/04 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
HTML5本地存储之Web Storage详解
2016/07/04 HTML / CSS
Aveda美国官网:天然护发产品、洗发水、护发素和沙龙
2016/12/09 全球购物
马来西亚最大的电器网站:Senheng
2017/10/13 全球购物
Crocs欧洲官网:Crocs Europe
2020/01/14 全球购物
党员干部群众路线个人整改措施
2014/09/18 职场文书
研究生就业推荐表导师评语
2014/12/31 职场文书
一波干货,会议主持词开场白范文
2019/05/06 职场文书
读鲁迅先生的经典名言
2019/08/20 职场文书
Python Numpy之linspace用法说明
2021/04/17 Python
Windows Server 2012 R2服务器安装与配置的完整步骤
2022/07/15 Servers