用 Python 抓取阿里云盘资源
优采云 发布时间: 2022-05-06 23:13用 Python 抓取阿里云盘资源
前阵子阿里云盘大火,送了好多的容量空间。而且阿里云盘下载是不限速,这点比百度网盘好太多了。这两天看到一个第三方网站可以搜索阿里云盘上的资源,但是它的资源顺序不是按时间排序的。这种情况会造成排在前面时间久远的资源是一个已经失效的资源。小编这里用 python 抓取后重新排序。
网页分析
这个网站有两个搜索路线:搜索线路一和搜索线路二,本文章使用的是搜索线路二。
打开控制面板下的网络,一眼就看到一个 seach.html 的 get 请求。
上面带了好几个参数,四个关键参数:
也是在控制面板中,看出这个网页跳转到阿里云盘获取真实的的链接是在标题上面的。用 bs4 解析页面上的 div(class=resource-item border-dashed-eee) 标签下的 a 标签就能得到跳转网盘的地址,解析 div 下的 p 标签获取资源日期。
抓取与解析
首先安装需要的 bs4 第三方库用于解析页面。
pip3 install bs4<br />
下面是抓取解析网页的脚本代码,最后按日期降序排序。 <p>import requests<br />from bs4 import BeautifulSoup<br />import string<br /><br /><br />word = input('请输入要搜索的资源名称:')<br /> <br />headers = {<br /> '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'<br />}<br /><br />result_list = []<br />for i in range(1, 11):<br /> print('正在搜索第 {} 页'.format(i))<br /> params = {<br /> 'page': i,<br /> 'keyword': word,<br /> 'search_folder_or_file': 0,<br /> 'is_search_folder_content': 0,<br /> 'is_search_path_title': 0,<br /> 'category': 'all',<br /> 'file_extension': 'all',<br /> 'search_model': 0<br /> }<br /> response_html = requests.get('https://www.alipanso.com/search.html', headers = headers,params=params)<br /> response_data = response_html.content.decode()<br /> <br /> soup = BeautifulSoup(response_data, "html.parser");<br /> divs = soup.find_all('div', class_='resource-item border-dashed-eee')<br /> <br /> if len(divs)