python +硒+铬如何实现批量文件下载并自动创建文件夹

  介绍

这篇文章主要讲解了python +硒+铬如何实现批量文件下载并自动创建文件夹,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

实现效果:通过url所绑定的关键名创建目录名,每次访问一个网页url后把文件下载下来

<强>代码:

其[我][0]中数据,数据[我][1]是代表关键词(文件保存目录),网站链接(要下载文件的网站)

 def getDriverHttp ():
  因为我在范围(叙述):
  #创建Chrome浏览器配置对象实例
  chromeOptions=webdriver.ChromeOptions ()
  #设定下载文件的保存目录为d盘的tudi目录,
  #如果该目录不存在,将会自动创建
  首选项={“download.default_directory":“e: \ \ tudi \ \ {0}“.format(数据[我][0]),“profile.default_content_setting_values.automatic_downloads": 1}
  #将自定义设置添加到铬配置对象实例中
  chromeOptions.add_experimental_option (“prefs"首选项)
  #启动带有自定义设置的Chrome浏览器
  #司机=webdriver.Chrome (executable_path=癳: \ \ chromedriver", chrome_options=chromeOptions)
  司机=webdriver.Chrome (chrome_options=chromeOptions)
  
  driver.get(数据[我][1])
  
  info2=re.findall (" # 39; & lt; a href=https://www.yisu.com/zixun/?”rel="外部nofollow”>进口numpy np
  从easydict进口easydict法令
  进口yaml
  
  #创建dict类型
  估计=法令()
  cfg=估计
  
  #定义配置dict类型
  __C.dev=法令()
  __C.dev.name=& # 39; dev-xingoo& # 39;
  __C.dev.age=20
  
  估计。测试=法令()
  __C.test.name=& # 39; test-xingoo& # 39;
  __C.test。=30岁
  
  #内部方法,实现yaml配置文件到dict的合并
  def _merge_a_into_b (a, b):
  “““合并配置字典到配置字典b,痛击
  选项b每当他们也中指定一个。
  “““
  如果没有法令(a)型:
  返回
  
  k、v a.items ():
  # b必须指定键
  如果k b:
  提高KeyError(& # 39;{}不是一个有效的配置关键# 39;.format (k))
  
  #类型必须匹配
  old_type=类型(b [k])
  如果old_type不是类型(v):
  如果isinstance (b [k], np.ndarray):
  v=np。阵列(v, dtype=b [k] .dtype)
  其他:
  提高ValueError((& # 39;类型不匹配({}和{})& # 39;
  & # 39;配置关键:{}& # 39;).format(类型(b [k]),
  类型(v), k))
  
  #递归合并字典
  如果类型(v)法令:
  试一试:
  _merge_a_into_b (a [k], [k])
  除了:
  print((& # 39;错误配置下键:{}& # 39;.format (k)))
  提高
  其他:
  b [k]=v
  #自动加载yaml文件
  def cfg_from_file(文件名):
  “““加载配置文件并将它合并为默认选项!”““
  张开(文件名,& # 39;" # 39;,编码=& # 39;utf - 8 # 39;) f:
  yaml_cfg=法令(yaml.load (f))
  
  _merge_a_into_b (yaml_cfg __C) 

使用的时候很简单,主要。py:

  从进口cfg配置      cfg_from_file (& # 39; config.yml& # 39;)   打印(cfg.dev.name)   打印(cfg.test.name)

同级目录下创建配置文件config.yaml

dev:
名称:xingoo-from-yml

输出:

xingoo-from-yml
test-xingoo

这样的好处就是在任何的Python文件中只要从进口cfg配置就可以使用配置文件。

第二种基于类实现

这种基于普通的Python对象实现的,创建config2。py:

类配置:   def __init__(自我):   self.name=& # 39; xingoo-config2& # 39;   自我。年龄=100

使用的时候直接创建一个新的对象,如何python模块之间需要引用这个变量,那么需要把配置对象传过去:

进口config2 config2
  
  cfg2=config2.Config ()
  打印(cfg2.name)
  打印(cfg2.age) 

输出为:

xingoo-config2
100

第二种方法简单粗暴……不过每次传递参数也是很蛋疼,还是喜欢第一种方式。

看完上述内容,是不是对python +硒+铬如何实现批量文件下载并自动创建文件夹有进一步的了解,如果还想学习更多内容,欢迎关注行业资讯频道。

python +硒+铬如何实现批量文件下载并自动创建文件夹