【问题标题】:soup.find_all,returns empty even if parser works, url is correctsoup.find_all,即使解析器工作也返回空,url是正确的
【发布时间】:2021-03-25 18:09:11
【问题描述】:
textToSearch = 'python tutorials'
query = urllib.parse.quote(textToSearch)
url = "https://www.youtube.com/results?search_query=" + query
response = urllib.request.urlopen(url)
html = response.read()
soup = BeautifulSoup(html, 'html.parser')
for vid in soup.findAll(attrs={'class':'yt-uix-tile-link'}):
    if not vid['href'].startswith("https://googleads.g.doubleclick.net/"):
        print('https://www.youtube.com' + vid['href'])

由于其限制,我试图在不使用 youtube data v3 api 的情况下获取查询的第一个 vieo url

即使解析器工作也返回空,url 是正确的

使用 python 3.9.0

【问题讨论】:

    标签: python python-3.x beautifulsoup


    【解决方案1】:

    我使用的方法是soup.find_all,而不是soup.findAll

    【讨论】:

      【解决方案2】:

      youtube 数据现在在 JSON 对象中,而不是嵌入到搜索页面的 HTML 中,所以漂亮的汤无法访问它

      对于 youtube,为了解决这个问题,我使用了一个名为 youtube-search 的库

      【讨论】:

        猜你喜欢
        • 2021-05-26
        • 2017-12-13
        • 1970-01-01
        • 2012-04-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-08
        • 2012-01-20
        相关资源
        最近更新 更多