@oliver_s

Я не могу пропайсерить сайт больше одной страницы приетом первая страница парсица а как приходит тростник второй вылетаест ошибка?

ОШИБКА: AttributeError: 'Response' object has no attribute 'get'

import requests
from bs4 import BeautifulSoup

for count in range(1,8):
	url =f"https://scrapingclub.com/exercise/list_basic/?page={count}"
	requests = requests.get(url)
	
        soup = BeautifulSoup(requests.text,"lxml")

	data = soup.find_all("div",class_="col-lg-4 col-md-6 mb-4")

	for i in data:
		nam = i.find("h4",class_="card-title").text.replace("\n","")
		plas = i.find("h5").text
		png = "https://scrapingclub.com/"+i.find("img",class_="card-img-top img-fluid").get("src")
		print(nam+'\n'+plas+'\n'+png+'\n\n')
  • Вопрос задан
  • 152 просмотра
Пригласить эксперта
Ответы на вопрос 1
@b_a_y
Python, Selenium
import requests
from bs4 import BeautifulSoup

for count in range(1,8):
    url = "https://scrapingclub.com/exercise/list_basic/?page"
    
    # У тебя переменная  "requests" схожа с названием библиотеки ! 
    # Так как ты в цикле, она перезаписывается и конфликтует 
    r= requests.get(url)
    soup = BeautifulSoup(r.text,"lxml")

    data = soup.find_all("div",class_="col-lg-4 col-md-6 mb-4")

    for i in data:
        nam = i.find("h4",class_="card-title").text.replace("\n","")
        plas = i.find("h5").text
        png = "https://scrapingclub.com/"+i.find("img",class_="card-img-top img-fluid").get("src")

        print(nam+'\n'+plas+'\n'+png+'\n\n')


И вообще, очень плохая практика range(1,8) делать... Парсят обычно количество страниц, вытягивают эти ссылки, а после уже парсят элементы на странице.
Удачи в начинаниях и внимательней )
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы