想实现一个自动下载微信公众号分享百度网盘图片链接的爬虫,使用selenium和火狐的webdriver进行完成

1.首先根据自己的浏览器下载相应的webdriver驱动器,python中导入selenium包。webdriver下载好后,放在浏览器的默认安装地址中,

然后再在自己的python默认安装地址中也加入一份webdriver,并且添加环境变量path,加入浏览器的安装地址,即:webdriver放置的目录

2.获取自己浏览器的默认配置,也可以不用,即去掉

propath = r"C:\Users\用户名\AppData\Roaming\Mozilla\Firefox\Profiles\05dg6q1p.default"
profile = webdriver.FirefoxProfile(propath)#使用自己浏览器的配置,我的是火狐浏览器

,其实不影响什么。获取的话根据写的路径自己找

3.获取自己百度网盘的cookie,先在浏览器上登录,然后点击检查

找到网络点击第一条发出的请求

找到cookie中的名字是BDUSS,复制替换源代码的值

4.替换百度网盘的连接,和提取码后就大体完成了

5.可以自己编写从文件读取多条百度网盘链接的函数,在调用本源代码。此方法仅是适用一条百度链接

源代码

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
propath = r"C:\Users\用户名\AppData\Roaming\Mozilla\Firefox\Profiles\05dg6q1p.default"
profile = webdriver.FirefoxProfile(propath)#使用自己浏览器的配置,我的是火狐浏览器
#使用自己百度网盘的cookie
cookie1 = {'value': '自己百度网盘的cookie',
'name': 'BDUSS'}
driver = webdriver.Firefox()#括号参数:executable_path="driver路径",可配置浏览器驱动的目录加入了环境变量,就不用括号里的参数了
#https://pan.baidu.com/s/18BSsXsCKUfpEumKUMT8mTA
# 提取码:bhnd 测试
link="https://pan.baidu.com/s/18BSsXsCKUfpEumKUMT8mTA"
num="bhnd"
driver.get(link)#先建立链接
driver.add_cookie(cookie_dict=cookie1)#添加cookie进行登录 elem = driver.find_element_by_id("accessCode")
elem.send_keys(num)
elem.send_keys(Keys.RETURN)#输入回车 time.sleep(10)#等待到完全加载后再找元素
nowurl=driver.current_url
#
# sreach_window = driver.current_window_handle
#全选
driver.find_element_by_xpath("/html/body/div[1]/div[2]/div[1]/div/div[2]/div[2]/div[2]/div/ul[1]/li[1]/div/span[1]").click()
time.sleep(2)
#点击下载
# driver.find_element_by_xpath("/html/body/div[1]/div[2]/div[1]/div/div[1]/div/div[2]/div/div/div[2]/a[2]/span/span").click()#自己决定是下载还是保存,下载可能会出现输入校验码的情况,无法解决
#点击保存
driver.find_element_by_xpath("/html/body/div[1]/div[2]/div[1]/div/div[1]/div/div[2]/div/div/div[2]/a[1]").click()
time.sleep(2)
driver.find_element_by_xpath("/html/body/div[3]/div[3]/a[2]/span/span").click()#找到确认按钮点击

如果对你有帮助的话不妨点个赞,欢迎在评论区留言

python使用selenium,webdriver自动下载百度网盘内容的更多相关文章

  1. 安装使用aria2下载百度网盘内容(转)

    原文地址:https://blog.csdn.net/wudi1107/article/details/80728891 安装使用aria2下载百度网盘内容 目前在Linux中没有好用的百度网盘客户端 ...

  2. 《python开发技术详解》|百度网盘免费下载|Python开发入门篇

    <python开发技术详解>|百度网盘免费下载|Python开发入门篇 提取码:2sby  内容简介 Python是目前最流行的动态脚本语言之一.本书共27章,由浅入深.全面系统地介绍了利 ...

  3. 打造百度网盘备份利器:自动备份Linux VPS文件和多线程下载百度网盘资源

    前一段时间国内的各大网盘百度云盘,金山快盘,360云盘,华为网盘为争夺用户上演空间容量博弈,网盘商们还固执地以为中国的网民都不懂网络技术,可以像某公司那样用一些数字的手段来忽悠用户,参与到网盘商的数字 ...

  4. Python编程导论第2版|百度网盘免费下载|新手学习

    点击下方即可免费下载 百度网盘免费下载:Python编程导论第2版 提取码:18g5 豆瓣评论: 介绍: 本书基于MIT 编程思维培训讲义写成,主要目标在于帮助读者掌握并熟练使用各种计算技术,具备用计 ...

  5. 《Python游戏编程快速上手》|百度网盘免费下载|Python基础编程

    <Python游戏编程快速上手>|百度网盘免费下载| 提取码:luy6 Python是一种高级程序设计语言,因其简洁.易读及可扩展性日渐成为程序设计领域备受推崇的语言. 本书通过编写一个个 ...

  6. 极速下载百度网盘-吴水成老师的-dubbo课程

    极速下载百度网盘-吴水成老师的-dubbo课程,极速下载百度网盘-吴水成老师的-dubbo课程,极速下载百度网盘-吴水成老师的-dubbo课程,极速下载百度网盘-吴水成老师的-dubbo课程 先看主目 ...

  7. Android Studio最新稳定版下载 - 百度网盘(更新于2017年7月14日)

    Android Studio是一个为Android平台开发程序的集成开发环境,其包含用于构建Android应用所需的所有工具.Android Studio 2.3.3为最新稳定版(截止到2017年7月 ...

  8. Mac使用Aria2下载百度网盘,突破下载限速的方法教程

    百度网盘目前可以说是在国内网盘环境中一枝独秀,日常使用触及在所难免,尤其是对于喜欢下载资源的朋友来说,但是一些限制让它的使用越来越难,尤其是下载速度,普通用户的下载往往远低于自己的预期,特别是对于 M ...

  9. 疯狂Python讲义PDF高清完整版免费下载|百度网盘

    百度网盘:疯狂Python讲义PDF高清完整版免费下载 提取码:uzba 内容简介 <疯狂Python讲义>既是一本适合初学者入门Python的图书(一个8岁的小朋友在未出版前已学习了本书 ...

随机推荐

  1. deeplearning量化

    deeplearning量化 量化配置 通过字典配置量化参数 TENSORRT_OP_TYPES = [ 'mul', 'conv2d', 'pool2d', 'depthwise_conv2d', ...

  2. PointRCNN: 点云的3D目标生成与检测

    PointRCNN: 点云的3D目标生成与检测 PointRCNN: 3D Object Proposal Generation and Detection from Point Cloud 论文地址 ...

  3. Docker系列——Grafana+Prometheus+Node-exporter钉钉推送(四)

    近期搭建的服务器监控平台,来进行一个总结.主要分为监控平台的搭建.告警中心的配置以及消息的推送.推送的话,支持多种终端.具体详细可查看之前的博文,在这里罗列下,方便查看. Docker系列--Graf ...

  4. 【NX二次开发】Block UI 线型

    属性说明 常规         类型 描述     BlockID     String 控件ID     Enable     Logical 是否可操作     Group     Logical ...

  5. NX二次开发-获取面的外围边和孔槽边

    函数: UF_MODL_ask_face_loops()  获取面的所有封闭边组合(多组edge) UF_MODL_ask_loop_list_count() 获取loop的数量(面上孔.槽的数量+1 ...

  6. 详解Apache Dubbo的SPI实现机制

    一.SPI SPI全称为Service Provider Interface,对应中文为服务发现机制.SPI类似一种可插拔机制,首先需要定义一个接口或一个约定,然后不同的场景可以对其进行实现,调用方在 ...

  7. SQL 查询语句总是先执行 SELECT?你们都错了

    很多 SQL 查询都是以 SELECT 开始的.不过,最近我跟别人解释什么是窗口函数,我在网上搜索"是否可以对窗口函数返回的结果进行过滤"这个问题,得出的结论是"窗口函数 ...

  8. java并发编程实战之线程安全性(一)

    1.1什么是线程安全性 要对线程安全性给出一个确切的定义是非常复杂的.最核心的概念就是正确性.正确性:某个类的行为与其规范完全一致.在良好的规范中通常会定义各种不变性条件来约束对象的状态,以及定义各种 ...

  9. Linux查看与设定别名

    1.alias :查看系统中所有的命令别名 2.设定别名 alias 别名='原命令' 3.删除别名 unalias 别名 4.使别名永久生效    vi  ~/.bashrc  写入这个文件中即可永 ...

  10. DBA入门相关知识介绍

    DBA(database administrator):数据库管理员                           DBMS(database management system):数据库管理系 ...