python urllib爬取百度云连接的实例代码

这里是做python urllib爬取百度云连接的完整攻略:

前置条件

在进行本操作之前,应该安装好python以及常用爬虫库requests和BeautifulSoup,并熟悉URl编码的知识。

思路

  1. 使用requests库请求百度云分享页面,获取页面HTML代码;
  2. 使用BeautifulSoup库解析HTML代码,提取百度云分享链接;
  3. 对链接进行URL编码,由于百度云分享链接可能会失效,需要将提取到的链接保存,以备后续使用。

代码实现

这里提供一个示例代码,以爬取机器学习大街的分享为例:

import requests
from bs4 import BeautifulSoup
import urllib.parse

url = 'http://www.jiqizhixin.com/share/detail/38d5fde8-2f5a-464c-9e0d-03f57088deaa'
response = requests.get(url)
html = response.text
soup = BeautifulSoup(html, 'html.parser')
links = soup.find_all('a',class_='downbtn')

for link in links:
    url = link.get('href').replace('pan.baidu.com/s/','www.baidupcs.com/rest/2.0/pcs/file')
    url = url.replace('?','&')
    url = url.replace('=','/')
    url = url + f"&method=download&access_token=null&app_id=250528"
    print(urllib.parse.quote(url,safe = "'/:&?=.,;~"))

示例说明

  1. 例一:爬取百度云中一张图片的分享链接
import requests
from bs4 import BeautifulSoup
import urllib.parse

url = 'https://pan.baidu.com/s/1IrkY2Jw2gGj6s-CL5SDQHw'
response = requests.get(url)
html = response.text
soup = BeautifulSoup(html, 'html.parser')
links = soup.find_all('a',class_='new-dbtn')

for link in links:
    url = link.get('href').replace('pan.baidu.com/s/','www.baidupcs.com/rest/2.0/pcs/file')
    url = url.replace('?','&')
    url = url.replace('=','/')
    url = url + f"&method=download&access_token=null&app_id=250528"
    print(urllib.parse.quote(url,safe = "'/:&?=.,;~"))
  1. 例二:爬取一个百度云电影的分享链接
import requests
from bs4 import BeautifulSoup
import urllib.parse

url = 'https://pan.baidu.com/s/1TTmmdmfR8dIFrw_Js98eyQ'
response = requests.get(url)
html = response.text
soup = BeautifulSoup(html, 'html.parser')
links = soup.find_all('a',class_='down-btn')

for link in links:
    url = link.get('href').replace('pan.baidu.com/s/','www.baidupcs.com/rest/2.0/pcs/file')
    url = url.replace('?','&')
    url = url.replace('=','/')
    url = url + f"&method=download&access_token=null&app_id=250528"
    print(urllib.parse.quote(url,safe = "'/:&?=.,;~"))

可以看到,在两个例子中我们都通过requests库访问了百度云的分享链接,然后使用了BeautifulSoup对获取到的HTML代码进行解析获取了分享链接,然后对分享链接进行了URL编码,实现了爬取百度云分享链接的功能。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python urllib爬取百度云连接的实例代码 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • python基本语法练习实例

    首先我们需要明确一下“Python基本语法练习实例”的概念。这个概念指的是通过实际练习,掌握Python编程语言的基本语法知识。下面是一个Python基础语法练习的攻略。 1. 学习Python基本语法 首先,你需要了解Python编程语言的基本语法,包括Python注释、变量、数据类型、运算符、控制流等内容。可以通过阅读Python官方文档或者Python…

    python 2023年5月30日
    00
  • Python requests timeout的设置

    以下是关于Python requests timeout的设置的攻略: Python requests timeout的设置 在进行网络爬虫开发时,经常需要设置请求的超时时间,以避免请求时间过长而导致程序卡死。Python的requests库提供了设置timeout参数的方法,可以轻松实现。以下是Python requests timeout的设置的攻略。 …

    python 2023年5月14日
    00
  • python队列基本操作和多线程队列

    python队列基本操作和多线程队列的完整攻略如下: 一、Python队列基本操作 1. 创建队列 Python标准库提供了queue模块来支持队列操作。我们可以使用queue.Queue类来创建一个队列: import queue q = queue.Queue() 2. 向队列中添加元素 使用put()方法向队列中添加元素: q.put(‘item’) …

    python 2023年5月13日
    00
  • python实现简易学生信息管理系统

    Python实现简易学生信息管理系统 1. 项目介绍 本项目使用Python编程语言实现一个简易的学生信息管理系统。主要功能包括添加、查询和删除学生信息。用户可以通过命令行界面完成这些操作。 2. 环境准备 在开始之前,需要确保已经安装了Python环境和相关的依赖库。推荐使用Python版本为3.x。 3. 实现过程 3.1 初始化项目 首先需要创建一个新…

    python 2023年5月13日
    00
  • python使用Thread的setDaemon启动后台线程教程

    让我来给你详细讲解一下“python使用Thread的setDaemon启动后台线程教程”。 简介 Python中的Thread类提供了一种启动后台线程的方式,即使用setDaemon方法。在某些情况下,我们可能需要在主线程运行的同时运行一些后台线程,那么这些后台线程就可以使用setDaemon方法来实现。 setDaemon方法 setDaemon是Pyt…

    python 2023年5月19日
    00
  • 利用Python/R语言分别解决金字塔数求和问题

    利用Python/R语言分别解决金字塔数求和问题的完整攻略 问题描述 假设有一个数字金字塔,如下所示: 1 2 3 4 5 6 7 8 9 10 需要计算从顶部到底部的所有路径的和。 Python解决方法 解题思路 读取金字塔数据 从第二行开始遍历金字塔,对于每个元素,计算该元素可到达路径上所有元素的和,将其替换为该和。 示例代码 # 读取金字塔数据 wit…

    python 2023年6月5日
    00
  • Python利用pangu模块实现文本格式化小工具

    Python利用pangu模块实现文本格式化小工具攻略 什么是Pangu Pangu是一个Python库,它的主要功能是自动在中英文字符之间加上空格。 在中文排版中,中文和英文之间都要用空格隔开,否则会让排版看起来很难看。手动加上空格显然是非常麻烦的,因此诞生了Pangu这个库,它可以自动识别中英文字符,然后自动加上符合排版规范的空格。对于需要排版中英文混合…

    python 2023年6月2日
    00
  • 对于Python异常处理慎用“except:pass”建议

    异常处理是程序设计中非常重要的一部分。在Python中,我们常使用try…except…finally结构来捕获和处理异常。其中,在except子句中可以指定需要捕获的异常类型,也可以使用裸的except子句来捕获所有异常。裸的except子句通常被称为“万能异常”,因为它可以捕获所有可能出现的异常,但是,慎用“except:pass”的建议意味着我…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部