L oop in python, чтобы получить тег заголовка из URL - PullRequest
0 голосов
/ 17 июня 2020
import urllib.request as urllib2
from bs4 import BeautifulSoup

a = "https://player.vimeo.com/video/1234"

soup = BeautifulSoup(urllib2.urlopen(a))
print (a + soup.title.string)

Я хочу получить заголовки URL-адреса с помощью цикла, который добавляет число каждый раз, когда получает заголовок URL-адреса.

например: я получаю заголовок для https://player.vimeo.com/video/1234 затем https://player.vimeo.com/video/1235 и так далее ..

Ответы [ 2 ]

2 голосов
/ 17 июня 2020

Вы можете сделать это следующим образом:

import urllib.request as urllib2
from bs4 import BeautifulSoup

start_idx, end_idx = 1234, 1245

for idx in range(start_idx, end_idx):
  a = f"https://player.vimeo.com/video/{idx}"
  soup = BeautifulSoup(urllib2.urlopen(a))
  print (f"for url:{a}, title: {soup.title.string}")

Установите start_idx и end_idx правильно, как вы хотите.

Также вы можете иметь дело с возможной HTTPError из-за запрещен доступ к некоторым URL.

0 голосов
/ 17 июня 2020

Если у вас больше url, добавьте в lst. У вас есть весь титул. вы можете попробовать сценарий ниже:

import urllib.request as urllib2
from bs4 import BeautifulSoup

lst = ["https://player.vimeo.com/video/1234","https://player.vimeo.com/video/1235"]
title = []
for a in lst:    
    soup = BeautifulSoup(urllib2.urlopen(a), 'lxml')
    title.append(soup.title.string)

print(title)

Результат будет:

['Diving catch from Chris Bodenner on Vimeo', 'Hit with box from Chris Bodenner on Vimeo']

OR

import urllib.request as urllib2
from bs4 import BeautifulSoup

lst = ["https://player.vimeo.com/video/1234","https://player.vimeo.com/video/1235"]
title = []
for a in lst:    
    soup = BeautifulSoup(urllib2.urlopen(a), 'lxml')
    title.append(soup.title.string)
    print (a + " : " + soup.title.string)

Результат будет:

https://player.vimeo.com/video/1234 : Diving catch from Chris Bodenner on Vimeo
https://player.vimeo.com/video/1235 : Hit with box from Chris Bodenner on Vimeo
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...