python 爬取百度网盘资源,python数据挖掘 百度网盘

  python 爬取百度网盘资源,python数据挖掘 百度网盘

  相比百度云盘,阿里云盘下载速度不限,空间容量大,深受大家喜爱。本文将通过Python抓取阿里云磁盘的资源,有兴趣的可以了解一下。

  00-1010网页分析,抓取和解析模板,完整代码总结。前阵子阿里云磁盘大火送了不少容量空间。而且阿里云盘的下载是无限的,比百度网盘好多了。这两天看到一个第三方网站,可以搜索阿里云上的资源,但是它的资源顺序不是按时间顺序的。这种情况会导致长时间排在前面的资源成为无效资源。这里的边肖被python抓取并重新排序。

  

目录

  这个网站有两条搜索路线:搜索路线1和搜索路线2。本文使用搜索路线2。

  打开控制面板下的网络,你会一眼看到seach.html的get请求。

  有了以上几个参数,四个关键参数:

  页面:页数,关键字:搜索关键字类别:文件分类,all(全部),video(视频),image(图片),doc(文档),audio(音频),zip(压缩文件),other(其他)。默认脚本是allsearch_model:搜索行也在控制面板中。查看此网页。用bs4解析页面上div(class=resource-item border-dashed-eee)标签下的A标签得到跳转网盘的地址,解析DIV下的P标签得到资源日期。

  

网页分析

  首先,安装解析页面所需的bs4第三方库。

  pip 3安装bs4

  下面是抓取和解析网页的脚本代码,最后按日期降序排列。

  导入请求

  frombs4importBeautifulSoup

  导入字符串

  Word=input(请输入要搜索的资源的名称:)

  标题={

  用户代理“:”Mozilla/5.0(windows nt 10.0;Win64x64)AppleWebKit/537.36(KHTML,like gecko)Chrome/96 . 0 . 4664 . 45 safari/537.36

  }

  result_list=[]

  用于范围(1,11):

  打印(搜索页面{} )。格式(一))

  params={

  第:页,

  关键词 :字,

  search_folder_or_file:0,

  is _ search _ folder _ content :0,

  is_search_path_title:0,

  类别 : 全部,

  文件扩展名 : 全部,

  搜索_型号 :0

  }

  response _ html=requests . get( https://www . alipanso.com/search . html ,headers=headers,params=params)

  response _ data=response _ html . content . decode()

  soup=beautiful soup(response _ data, html . parser );

  divs=soup.find_all(div ,class _= resource-item border-dashed-eee )

  iflen(divs)=0:

  破裂

  第:号

  p=div.find(p ,class_=em )

  ifp==None:

  破裂

  download_url=https://www。

  alipanso.com/ + div.a[href]

          date = p.text.strip();

          name = div.a.text.strip();

          result_list.append({date:date, name:name, url:download_url})

      if len(result_list) == 0:

          break

  result_list.sort(key=lambda k: k.get(date),reverse=True)

  

  示例结果:

  

  

  

模板

  上面抓取完内容后,还需要将内容一个个复制到 google 浏览器中访问,有点太麻烦了。要是直接点击一下能访问就好了。小编在这里就用 Python 的模板方式写一个 html 文件。

  模板文件小编是用 elements-ui 做的,下面是关键的代码:

  

<body>

      <div id="app">

          <el-table :data="table" style="width: 100%" :row-class-name="tableRowClassName">

              <el-table-column prop="date" label="日期" width="180"> </el-table-column>

              <el-table-column prop="name" label="名称" width="600"> </el-table-column>

              <el-table-column label="链接">

                <template slot-scope="scope">

                <a :href="http://+scope.row.url" rel="external nofollow"

                  target="_blank"

                  class="buttonText">{{scope.row.url}}</a>

              </template>

          </el-table>

      </div>

      <script>

        const App = {

          data() {

            return {

                table: ${elements}

            };

          }

        };

        const app = Vue.createApp(App);

        app.use(ElementPlus);

        app.mount("#app");

      </script>

    </body>

  

  在 python 中读取这个模板文件,并将 ${elements} 关键词替换为上面的解析结果。最后生成一个 report.html 文件。

  

with open("aliso.html", encoding=utf-8) as t:

      template = string.Template(t.read())

  final_output = template.substitute(elements=result_list)

  with open("report.html", "w", encoding=utf-8) as output:

      output.write(final_output)

  

  示例结果:

  

  跳转到阿里云盘界面

  

  

  

完整代码

  aliso.html

  

<html>

   <head>

   <meta charset="UTF-8" />

   <meta name="viewport" content="width=device-width,initial-scale=1.0" />

   <script src="https://unpkg.com/vue@next"></script>

   <!-- import CSS -->

   <link rel="stylesheet" href="https://unpkg.com/element-plus/dist/index.css">

   <!-- import JavaScript -->

   <script src="https://unpkg.com/element-plus"></script>

   <title>阿里云盘资源</title>

   </head>

   <body>

   <div id="app">

   <el-table :data="table" style="width: 100%" :row-class-name="tableRowClassName">

   <el-table-column prop="date" label="日期" width="180"> </el-table-column>

   <el-table-column prop="name" label="名称" width="600"> </el-table-column>

   <el-table-column label="链接">

   <template v-slot="scope">

   <a :href="scope.row.url"

   target="_blank"

   class="buttonText">{{scope.row.url}}</a>

   </template>

   </el-table>

   </div>

   <script>

   const App = {

   data() {

   return {

   table: ${elements}

   };

   }

   };

   const app = Vue.createApp(App);

   app.use(ElementPlus);

   app.mount("#app");

   </script>

   </body>

  </html>

  aliso.py

  

# -*- coding: UTF-8 -*-

  import requests

  from bs4 import BeautifulSoup

  import string

  word = input(请输入要搜索的资源名称:)

  headers = {

   User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36

  }

  result_list = []

  for i in range(1, 11):

   print(正在搜索第 {} 页.format(i))

   params = {

   page: i,

   keyword: word,

   search_folder_or_file: 0,

   is_search_folder_content: 0,

   is_search_path_title: 0,

   category: all,

   file_extension: all,

   search_model: 2

   }

   response_html = requests.get(https://www.alipanso.com/search.html, headers = headers,params=params)

   response_data = response_html.content.decode()

   soup = BeautifulSoup(response_data, "html.parser");

   divs = soup.find_all(div, class_=resource-item border-dashed-eee)

   if len(divs) <= 0:

   break

   for div in divs[1:]:

   p = div.find(p,class_=em)

   if p == None:

   break

   download_url = https://www.alipanso.com/ + div.a[href]

   date = p.text.strip();

   name = div.a.text.strip();

   result_list.append({date:date, name:name, url:download_url})

   if len(result_list) == 0:

   break

  result_list.sort(key=lambda k: k.get(date),reverse=True)

  print(result_list)

  with open("aliso.html", encoding=utf-8) as t:

   template = string.Template(t.read())

  final_output = template.substitute(elements=result_list)

  with open("report.html", "w", encoding=utf-8) as output:

   output.write(final_output)

  

  

总结

  用 python 做一些小爬虫,不仅去掉网站上烦人的广告,也更加的便利了。

  以上就是利用Python抓取阿里云盘资源的详细内容,更多关于Python抓取云盘资源的资料请关注盛行IT软件开发工作室其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • deepinxp 百度网盘,
  • deepinxp 百度网盘,,deepin xp精简版(220M) 下载
  • windows10百度网盘怎么下载,win10纯净版百度云下载
  • 电脑百度网盘离线下载位置在哪,电脑百度网盘离线下载位置错误
  • 三小时搞定统计学计算题,三小时搞定统计学百度网盘
  • windows10百度网盘怎么下载,windows怎么下载百度网盘
  • 百度网盘怎么加好友手机版,电脑百度网盘怎么加好友
  • win10镜像下载百度网盘,win10镜像下载官网
  • 百度网盘怎么上传文件,怎么上传文件到百度网盘上,百度网盘怎么上传文件 百度网盘
  • izip怎么解压百度网盘里的压缩包苹果手机版,izip如何解压百度云文件
  • 百度网盘上传文件教程下载,百度网盘上传文件教程在哪
  • 手机百度网盘怎么分享文件给别人,电脑百度网盘怎么分享文件给别人
  • 百度网盘极速下载券购买后没显示,百度网盘极速下载券购买后在哪
  • 怎么分享百度网盘的链接,百度网盘咋分享链接
  • opencv函数库中文手册,opencv函数库中文手册下载百度网盘
  • 留言与评论(共有 条评论)
       
    验证码: