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实现TCP服务器端与客户端的方法详解
Apr 30 Python
Python构建XML树结构的方法示例
Jun 30 Python
Python使用matplotlib实现绘制自定义图形功能示例
Jan 18 Python
Python实现PS图像调整颜色梯度效果示例
Jan 25 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
Apr 23 Python
TensorFlow实现Logistic回归
Sep 07 Python
python threading和multiprocessing模块基本用法实例分析
Jul 25 Python
python Manager 之dict KeyError问题的解决
Dec 21 Python
django列表筛选功能的实现代码
Mar 27 Python
pytorch交叉熵损失函数的weight参数的使用
May 24 Python
python脚本框架webpy的url映射详解
Nov 20 Python
Python&Matlab实现灰狼优化算法的示例代码
Mar 21 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性能优化工具篇Benchmark类调试执行时间
2011/12/06 PHP
php使用curl简单抓取远程url的方法
2015/03/13 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
2016/09/11 PHP
php/JS实现的生成随机密码(验证码)功能示例
2019/06/06 PHP
JavaScript方法和技巧大全
2006/12/27 Javascript
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
2016/03/11 Javascript
在JavaScript中对HTML进行反转义详解
2016/05/18 Javascript
jQuery查看选中对象HTML代码的方法
2016/06/17 Javascript
jQuery简单创建节点的方法
2016/09/09 Javascript
浅谈jquery上下滑动的注意事项
2016/10/13 Javascript
bootstrap 表单验证使用方法
2017/01/11 Javascript
js实现PC端根据IP定位当前城市地理位置
2017/02/22 Javascript
jQuery异步提交表单实例
2017/05/30 jQuery
详解JS模块导入导出
2017/12/20 Javascript
使用node搭建自动发图文微博机器人的方法
2019/03/22 Javascript
我所理解的JavaScript中的this指向
2020/09/04 Javascript
JavaScript对象访问器Getter及Setter原理解析
2020/12/08 Javascript
[46:49]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.19
2020/12/24 DOTA
python3 selenium自动化 下拉框定位的例子
2019/08/23 Python
Python上下文管理器全实例详解
2019/11/12 Python
DJango的创建和使用详解(默认数据库sqlite3)
2019/11/18 Python
在spyder IPython console中,运行代码加入参数的实例
2020/04/20 Python
keras读取h5文件load_weights、load代码操作
2020/06/12 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
2020/06/12 Python
PyInstaller运行原理及常用操作详解
2020/06/13 Python
Selenium alert 弹窗处理的示例代码
2020/08/06 Python
css3一个简易的 LED 数字时钟实现方法
2020/01/15 HTML / CSS
韩国家庭购物网上商店:Nsmall
2017/05/07 全球购物
Yves Rocher捷克官方网站:植物化妆品的创造者
2019/07/31 全球购物
全球最大化妆品零售网站:SkinStore
2020/10/24 全球购物
联强国际笔试题面试题
2013/07/10 面试题
干部选拔任用方案
2014/05/26 职场文书
酒后驾车标语
2014/06/30 职场文书
孝敬父母的活动方案
2014/08/28 职场文书
红与黑读书笔记
2015/06/29 职场文书