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

yizhihongxing

这里是做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日

相关文章

  • 基于PyQt5实现图转文功能(示例代码)

    我将为你讲解“基于PyQt5实现图转文功能(示例代码)”的完整攻略,包含两条示例说明。 前言 图转文是指将一张图片转换为文字格式,以便于存储、发送和编辑。本教程将介绍基于PyQt5实现图转文功能的过程,供读者参考。 环境 Python 3.6 PyQt5 Pillow 实现步骤 步骤一:导入库 在Python脚本中导入PyQt5和Pillow库: from …

    python 2023年6月13日
    00
  • 正则表达式从原理到实战全面学习小结

    正则表达式从原理到实战全面学习小结 正则表达式是一种用于匹配字符串的工具,它可以用来检查一个字符串是否符合某种模式。在本文中,我们将从原理到实战全面学习正则表达式。 正则表达式的基本语法 正则表达式的基本语法包括以下几个部分: 字符:表示匹配该字符本身。 字符集:用方括号[]表示,表示匹配方括号中的任意一个字符。 元字符:表示特殊含义的字符,例如”.”表示匹…

    python 2023年5月14日
    00
  • 搞定这套Python爬虫面试题(面试会so easy)

    首先要明确一点,这个题目指的是Python爬虫面试题,针对爬虫相关的知识点进行考察。因此,在回答这个问题之前,我们需要明确爬虫相关的知识点,以及如何准备这方面的面试。 一、爬虫知识点: 在准备爬虫面试之前,需要掌握以下知识点: HTTP协议:了解HTTP常见状态码和请求方法,如200、404、GET、POST等。 HTML:理解HTML的基本结构和语法规则,…

    python 2023年5月14日
    00
  • Django处理Ajax发送的Get请求代码详解

    Django是一个流行的Python Web框架,它提供了许多功能和工具来帮助我们构建Web应用程序。在本文中,我们将详细讲解如何使用Django处理Ajax发送的Get请求,并提供两个示例。 步骤1:创建Django项目 要使用Django处理Ajax发送的Get请求,需要先创建一个Django项目。可以使用以下命令在命令行中创建Django项目: dja…

    python 2023年5月15日
    00
  • Python jiaba库的使用详解

    Python jieba库的使用详解 简介 Jieba是一款开源的中文分词库,在中文自然语言处理领域具有非常广泛的应用。Jieba分词速度非常快,支持三种分词模式和特定领域分词。本文将给出Jieba库的基本使用方法,并介绍三种分词模式和特定领域分词,同时也给出几个实例进行演示。 安装 使用pip即可安装jieba: pip install jieba 基本使…

    python 2023年5月20日
    00
  • python中的被动信息搜集

    Python中的被动信息搜集 在Python中,我们可以使用各种库和工具来进行被动信息搜集。被动信息搜集是指在不直接与目标系统交互的情况下,通过收集和分析目标系统的信息来获取有用的信息。本文将介绍Python中的被动信息搜集,并提供两个示例。 示例 以下是两个使用Python进行被动信息搜集的示例: 示例1:使用whois库查询域名信息 import who…

    python 2023年5月15日
    00
  • Python小程序 控制鼠标循环点击代码实例

    下面就来讲一下“Python小程序 控制鼠标循环点击代码实例”的完整攻略。 一、实现思路 首先,我们需要借助第三方库pyautogui来完成控制鼠标的操作。然后,通过使用循环语句和延时函数time.sleep()来实现循环点击。 完整的实现思路如下: 引入第三方库pyautogui 使用pyautogui.moveTo()将鼠标移动到需要点击的位置 使用py…

    python 2023年5月18日
    00
  • Python TCPServer 多线程多客户端通信的实现

    Python是一种广泛应用于网络编程中的编程语言,其内置的socket模块提供了一组底层网络接口,可以用来实现各种不同的网络应用。在TCP协议中,一个服务器一般只能同时处理来自一个客户端的连接请求,因此需要使用多线程的技术来实现多客户端同时访问的功能。 在本文中,我们将重点介绍Python中如何使用TCPServer和多线程技术实现多客户端通信的功能。过程中…

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