小编And*_*_ye的帖子

如何使用 python 绕过机器人检测并抓取网站

问题

我是网络抓取的新手,我试图创建一个抓取器,它可以查看播放列表链接并获取音乐和作者的列表。

但该网站一直拒绝我的连接,因为它认为我是机器人,所以我使用 UserAgent 创建一个假的 useragent 字符串来尝试绕过过滤器。

有点效果吗?但问题是,当你通过浏览器访问网站时,你可以看到播放列表的内容,但是当你尝试用请求提取html代码时,播放列表的内容只是一个很大的空白。

也许我必须等待页面加载?或者有更强大的机器人过滤器?

我的代码

import requests
from bs4 import BeautifulSoup
from fake_useragent import UserAgent

ua = UserAgent()

melon_site="http://kko.to/IU8zwNmjM"

headers = {'User-Agent' : ua.random}
result = requests.get(melon_site, headers = headers)


print(result.status_code)
src = result.content
soup = BeautifulSoup(src,'html.parser')
print(soup)

Run Code Online (Sandbox Code Playgroud)

网站链接

播放列表链接

使用请求时得到的 html

html 播放列表应该有空白

python beautifulsoup web-scraping python-requests botdetect

5
推荐指数
1
解决办法
2万
查看次数

使用 python 的带有按钮的 Windows 通知

我需要制作一个通过 Windows 通知提醒我的程序,我发现这可以通过以下代码简单地完成。

我不在乎我使用什么库

from win10toast import ToastNotifier
toast = ToastNotifier()
toast.show_toast("alert","text")
Run Code Online (Sandbox Code Playgroud)

此代码提供以下警报

在此处输入图片说明

但是,我希望通知上有一个按钮,这样我就可以点击它,它会引导我到一个 url。

在此处输入图片说明

像这个例子。

这可能吗?

我刚刚找到了这个关于toast 内容的网站,谁能帮我用 python 使用它?

python windows winapi notifications button

4
推荐指数
1
解决办法
2630
查看次数

在Pytube中,有什么方法可以获得最高的音频质量流吗?

我试图编写一个非常简单的 python 代码来获得最高质量音频的流,所以我首先尝试了这样的方法

def get_highest_audio(url):
    yt = YouTube(url)
    best_audio_stream = yt.streams.filter(only_audio=True).all()[1]
    return best_audio_stream
Run Code Online (Sandbox Code Playgroud)

它确实返回了一个流,但它不是具有最高质量音频的流,所以我尝试在 pytube 库中找到一个函数。

虽然有一个get_highest_resolution()功能,但没有get_highest_audio_resolution()功能。

所以我尝试手动获取音频分辨率,但没有一个函数可以获取流的音频分辨率。

有什么方法可以创建这个函数吗?

python youtube pytube

3
推荐指数
1
解决办法
9769
查看次数