【发布时间】:2019-11-02 22:28:03
【问题描述】:
我正在尝试从 youtube 搜索结果中收集数据。搜索词是“边境牧羊犬”,其中包含对上传的视频的过滤器“今天”。
搜索结果中出现了 52 个视频。但是,当我尝试解析页面时,我只有 20 个条目。如何解析所有 52 个视频?任何建议表示赞赏。
附:我为不定式页面尝试了这个post,但它不适用于 youtube。
当前代码:
url = 'https://www.youtube.com/results?search_query=border+collie&sp=EgIIAg%253D%253D'
driver = webdriver.Chrome()
driver.get(url)
#waiting for the page to load
sleep(3)
#repeat scrolling 10 times
for i in range(10):
#scroll 1000 px
driver.execute_script('window.scrollTo(0,(window.pageYOffset+1000))')
sleep(3)
response = requests.get(url)
soup = bs(response.text,'html.parser',from_encoding="UTF-8")
source_list = []
duration_list = []
#Scrape source of the video
vids_source = soup.findAll('div',attrs={'class':'yt-lockup-byline'})
for i in vids_source:
source = i.text
source_list.append(source)
#Scrape video duration
vids_badge = soup.findAll('span',attrs={'class':'video-time'})
for i in vids_badge:
duration = i.text
duration_list.append(duration)
【问题讨论】:
-
你能edit 这个问题并解释一下你在问题中添加的代码和链接的答案有什么问题吗?请添加有关您面临的问题的更多详细信息。
-
@MauricioAriasOlave。感谢您让我原来的问题不够具体。希望更新的版本更清晰。
标签: python-3.x selenium web-scraping youtube