#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. Большое вам спасибо!