получение URL видео с использованием Python сценариев - PullRequest
0 голосов
/ 27 февраля 2020

Я работаю с красивым супом, чтобы извлечь URL. Я получаю все атрибуты href, но я хочу получить только указанный c URL. Вот мой код:

import requests
from bs4 import BeautifulSoup
page=requests.get("https://www.youtube.com/results?search_query=cooking")
soup = BeautifulSoup(page.content ,'html.parser')
for a_tag in soup.findAll("a"):
    if a_tag.has_attr("href"):
            print(a_tag['href'])

введите описание изображения здесь , но я хочу только эти часы? V = nTe_44ao82w / часы? V = nTe_44ao82w

Ответы [ 2 ]

0 голосов
/ 27 февраля 2020

Подробнее Минимизация до первого ответа:

import requests
from bs4 import BeautifulSoup
page=requests.get("https://www.youtube.com/results?search_query=cooking")
soup = BeautifulSoup(page.content ,'html.parser')
for a_tag in soup.findAll("a"):
    if 'watch' in a_tag['href']:
            print(a_tag['href'])

Это проверит, содержит ли тег href строку watch. Надеюсь, это поможет!

0 голосов
/ 27 февраля 2020

Кажется, на самом деле нет хорошего способа отличить эти теги, кроме как по самому URL (у них нет уникальных классов или чего-либо еще), поэтому я бы, вероятно, просто проверил, содержит ли URL «watch» :

...
for a_tag in soup.findAll("a"):
    if a_tag.has_attr("href") and "watch" in a_tag["href"]:
            print(a_tag['href'])

Выходы

/watch?v=cbxe1ANrfDo
/watch?v=nTe_44ao82w
/watch?v=v1wIThmCams
/watch?v=FTociictyyE
/watch?v=dw2QHkAtB_Y
/watch?v=ej9UHVwlQqk
/watch?v=KGAj8IhnR3c
/watch?v=G8A73R_gZdM
/watch?v=XPQW_2YOmjY
/watch?v=J0pS2lhH0Vc
/watch?v=5aU5qrbCsF4
/watch?v=kvAJ_mc9NXs
/watch?v=kKiYVLIk_9s
/watch?v=G2jYIGdmC6I
/watch?v=jMW5ZDQviOA
/watch?v=iTmcGy9CWhE
/watch?v=66Ck_5SePZg
/watch?v=lyD9t3uhHio
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...