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基础教程之基本内置数据类型介绍
Feb 20 Python
python编写简单爬虫资料汇总
Mar 22 Python
Python字符串拼接六种方法介绍
Dec 18 Python
Python内置模块hashlib、hmac与uuid用法分析
Feb 12 Python
Python facenet进行人脸识别测试过程解析
Aug 16 Python
在python中做正态性检验示例
Dec 09 Python
PyQT5 emit 和 connect的用法详解
Dec 13 Python
python求最大公约数和最小公倍数的简单方法
Feb 13 Python
django-orm F对象的使用 按照两个字段的和,乘积排序实例
May 18 Python
Python使用Paramiko控制liunx第三方库
May 20 Python
python 字符串格式化的示例
Sep 21 Python
Python turtle实现贪吃蛇游戏
Jun 18 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
php printf输出格式使用说明
2010/12/05 PHP
php实现随机生成易于记忆的密码
2015/06/19 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
PHP将字符串首字母大小写转换的实例
2017/01/21 PHP
php实现获取近几日、月时间示例
2019/07/06 PHP
JavaScript 判断判断某个对象是Object还是一个Array
2010/01/28 Javascript
Javascript 通过json自动生成Dom的代码
2010/04/01 Javascript
JavaScript中对象property的删除方法介绍
2014/12/30 Javascript
JavaScript将数字转换成大写中文的方法
2015/03/23 Javascript
JavaScript实现的简单拖拽效果
2015/06/01 Javascript
jQuery如何防止Ajax重复提交
2016/10/14 Javascript
浅谈JavaScript正则表达式-非捕获性分组
2017/03/08 Javascript
JS+html5 canvas实现的简单绘制折线图效果示例
2017/03/13 Javascript
Bootstrap图片轮播效果详解
2017/10/17 Javascript
JS中Promise函数then的奥秘探究
2018/07/30 Javascript
详解小程序不同页面之间通讯的解决方案
2018/11/23 Javascript
layui树形菜单动态遍历的例子
2019/09/23 Javascript
vue实现动态表格提交参数动态生成控件的操作
2020/11/09 Javascript
Python中的filter()函数的用法
2015/04/27 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
在pycharm中配置Anaconda以及pip源配置详解
2019/09/09 Python
利用pandas合并多个excel的方法示例
2019/10/10 Python
python函数声明和调用定义及原理详解
2019/12/02 Python
Python远程开发环境部署与调试过程图解
2019/12/09 Python
python基于celery实现异步任务周期任务定时任务
2019/12/30 Python
jupyter notebook清除输出方式
2020/04/10 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
2020/05/15 Python
纯CSS3打造属于自己的“小黄人”
2016/03/14 HTML / CSS
Black Halo官方网站:购买连衣裙、礼服和连体裤
2018/06/13 全球购物
党员个人思想汇报
2013/12/28 职场文书
初中英语教学反思
2014/01/25 职场文书
降消项目实施方案
2014/03/30 职场文书
党员“四风”问题批评与自我批评思想汇报
2014/10/06 职场文书
委托书格式要求
2015/01/28 职场文书
农业项目投资意向书
2015/05/09 职场文书
出纳2015年度工作总结范文
2015/10/14 职场文书