首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将嵌入在网页中的视频链接名称与视频名称一起提取

如何将嵌入在网页中的视频链接名称与视频名称一起提取
EN

Stack Overflow用户
提问于 2020-02-14 16:13:32
回答 1查看 985关注 0票数 1

我试图从网页中提取所有的视频链接参考和视频名称,我已经尝试了下面的代码。

代码语言:javascript
复制
#!/usr/bin/python3
from bs4 import BeautifulSoup
import requests
import urllib
url = urllib.request.urlopen('https://www.ansible.com/resources/videos').read()
acc_link = BeautifulSoup(url, features="lxml")
for line in acc_link.find_all('a'):
    print(line.get('href'))

输出:

代码语言:javascript
复制
https://www.ansible.com/?hsLang=en-us
https://www.ansible.com/overview/it-automation?hsLang=en-us
https://www.ansible.com/overview/it-automation?hsLang=en-us
https://www.ansible.com/overview/how-ansible-works?hsLang=en-us
https://www.ansible.com/products/automation-platform?hsLang=en-us
https://www.ansible.com/use-cases?hsLang=en-us
https://www.ansible.com/use-cases/provisioning?hsLang=en-us
https://www.ansible.com/use-cases/configuration-management?hsLang=en-us
https://www.ansible.com/use-cases/application-deployment?hsLang=en-us
https://www.ansible.com/use-cases/continuous-delivery?hsLang=en-us
https://www.ansible.com/use-cases/security-automation?hsLang=en-us
https://www.ansible.com/use-cases/orchestration?hsLang=en-us
https://www.ansible.com/integrations?hsLang=en-us

HTML源代码,例如:

代码语言:javascript
复制
<h4><a href="https://www.ansible.com/resources/webinars-training/ansible-network-automation-with-arista-cloudvision-and-arista?hsLang=en-us">Ansible Network Automation with Arista CloudVision and Arista Validated Designs</a></h4>

像上面一样,只是链接https://www.ansible.com/resources/videos的HTML源代码的一个例子,我希望链接名为https://www.ansible.com/resources/webinars-training/ansible-network-automation-with-arista-cloudvision-and-arista,视频名为Ansible Network Automation with Arista CloudVision and Arista Validated Designs

下面的只是的另一个例子,在?a值(即Scale-out Clustering with Tower 3.1 )之前,我想要href

<h4><a href="https://www.ansible.com/scale-out-clustering-tower?hsLang=en-us">Scale-out Clustering with Tower 3.1</a></h4>

期望输出:

Vedio名称:带有Arista CloudVision和Arista验证设计的无源网络自动化

Vedio Link: https://www.ansible.com/resources/webinars-training/ansible-network-automation-with-arista-cloudvision-and-arista

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-15 04:54:35

如果您希望从所有锚点获得href,那么可以使用css选择'a[href]',它只会找到具有href属性的锚标记:

你确实调整了一下,

代码语言:javascript
复制
#!/usr/bin/python3
from bs4 import BeautifulSoup
import requests
import urllib

url = urllib.request.urlopen('https://www.ansible.com/resources/videos').read()
acc_link = BeautifulSoup(url, features="lxml")

for article in acc_link.find_all('div', class_='card-body'):
        # this will grab the name of the video article
        headline1 = article.h4.a.text
        # this will get your video link
        headline2 = article.select_one('a[href]')['href'].split('?')[0]
        #headline2 = headline2.split('?')[0]
        print(headline1)
        # I have placed the condition as few of the link address do not have
        #  the site link prefix www.ansible.com.
        if 'www' in headline2:
            print(headline2)
        else:
            print('https://www.ansible.com' + headline2)
        print()

结果:

代码语言:javascript
复制
Automating Monitoring with the Sensu Go Ansible Collection
https://www.ansible.com/resources/webinars-training/automating-monitoring-with-the-sensu-go-ansible-collection

How to load balance a hybrid cloud using Red Hat Insights,  Red Hat Ansible, and Red Hat AMQ Interconnect
https://www.redhat.com/en/about/videos/road-to-open-hybrid-cloud-part-2

British Army speeds service delivery with Red Hat
https://www.redhat.com/en/about/videos/british-army-speeds-service-delivery-red-hat

Zero To 100 - Rapid deployment with Ansible Tower
https://www.ansible.com/zero-to-100

Scale-out Clustering with Tower 3.1
https://www.ansible.com/scale-out-clustering-tower

What's New In Tower 3.1
https://www.ansible.com/whats-new-tower-3-1

Amelco - Continuous Delivery with Ansible Tower
https://www.ansible.com/success-stories/amelco

Runnable - Getting Started with Ansible
https://www.ansible.com/success-stories/runnable

Fatmap - App Deployment with Ansible
https://www.ansible.com/success-stories/fatmap

Splunk and Ansible Tower
https://www.ansible.com/success-stories/splunk

Siemens - Delivering Automation to the Cloud
https://www.ansible.com/success-stories/siemens

Ansible Tower 10 min demo
https://www.ansible.com/products/tower/demo

Ansible Tower 3.1
https://www.ansible.com/tower-workflows-demo

Ansible Tower 2-min Overview
https://www.ansible.com/tower-overview

Ansible Quick Start
https://www.ansible.com/resources/videos/quick-start-video

Ansible + AWS - Serverless Deploys
https://www.ansible.com/resources/videos/ansible-aws-automate-serverless-application-deploys-with-ansible

Ansible + AWS - EC2 Provisionling
https://www.ansible.com/resources/videos/ansible-aws-automate-ec2-provisioning-with-red-hat-ansible-engine-and-red-hat-ansible-tower

Network Automation For Beginners
https://www.ansible.com/resources/videos/network-automation-with-red-hat-ansible-engine-for-beginners

Agnostic Network Automation Examples with Ansible and Juniper NRE Labs
https://www.ansible.com/blog/agnostic-network-automation-examples-with-ansible-and-juniper-nre-labs

 How useful is Ansible in a cloud-native Kubernetes environment
https://www.ansible.com/blog/how-useful-is-ansible-in-a-cloud-native-kubernetes-environment

我希望这会有帮助。

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

https://stackoverflow.com/questions/60229907

复制
相关文章

相似问题

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