首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在python中的这个YouTube爬虫中没有显示输出?

为什么在python中的这个YouTube爬虫中没有显示输出?
EN

Stack Overflow用户
提问于 2017-09-03 17:35:14
回答 1查看 134关注 0票数 0
代码语言:javascript
复制
import requests 
from bs4 import BeautifulSoup 

youtube = "https://www.youtube.com/results?search_query=" 

def get_address(keyword): 
    query = youtube + keyword 
    source_code = requests.get(query) 
    plain_text = source_code.text 
    soup = BeautifulSoup(plain_text, "html.parser") 

    for link in soup.findAll('a', {'id': 'video-title'}): 
        href = link.get('href') 
        print(href)
        break

get_address("scishow")

程序成功运行,但它没有显示视频的地址,而是在输出中没有显示任何内容。

EN

回答 1

Stack Overflow用户

发布于 2017-09-03 18:47:19

Youtube在大量的javascript上运行。我建议你使用硒。下面是你更新后的代码:

代码语言:javascript
复制
from selenium import webdriver
from bs4 import BeautifulSoup

youtube = "https://www.youtube.com/results?search_query="

def get_address(keyword):
    query = youtube + keyword
    browser = webdriver.Chrome()
    browser.get(query)
    plain_text = browser.page_source
    browser.quit()
    soup = BeautifulSoup(plain_text, "html.parser")

    for link in soup.findAll('a', {'id': 'video-title'}):
       href = link.get('href')
       print(href)

get_address("scishow")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46022064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档