Как мне вернуть заголовок n-го набора данных с веб-сайта?

#python #web-scraping #python-requests

#python #очистка веб-страниц #python-запросы

Вопрос:

Я работаю над проектом Python, в котором я хотел бы вернуть заголовок n-го набора данных в базе данных. Пользователь должен иметь возможность ввести число, скажем, 4, и код выведет заголовок 4-го набора данных. Я пытался использовать цикл for, но мой код просто возвращает первый набор данных 4 раза вместо 4-го набора данных. Любая помощь приветствуется!

 import requests
from bs4 import BeautifulSoup

response=requests.get('http://catalog.data.gov/dataset?q=amp;sort=metadata_created desc')

soup=BeautifulSoup(response.text, 'html.parser')

num=input("Enter a number:")
print(num)
data=[]

for x in range(int(num) 1):
    title=soup.find('div', attrs={'class':'notes'})
    dataSet=title.text
    data.append(dataSet)

print(data)
  

Ответ №1:

Вы должны использовать find_all метод, чтобы получить все заголовки. Затем вы можете получить num элемент titles:

 import requests
from bs4 import BeautifulSoup

response=requests.get('http://catalog.data.gov/dataset?q=amp;sort=metadata_created desc')

soup=BeautifulSoup(response.text, 'html.parser')

num=input("Enter a number:")
print(num)
data=[]

titles = soup.find_all('div', attrs={'class':'notes'})

title=titles[int(num)-1]
dataSet=title.text
data.append(dataSet)

print(data)
  

Комментарии:

1. Большое вам спасибо!