Я пытаюсь закодировать скребок для веб-сайта, и до сих пор мне удавалось собрать общую информацию, которая мне нужна, но конкретное значение атрибута, которое я пытаюсь получить из этой информации, не возвращает ни одного, даже если есть явные значениятам.Все работает нормально, пока я не попытаюсь использовать getattr каждого контейнера в контейнерах, чтобы найти значения для data-id.Возможно, есть лучший способ сделать это, но мне трудно понять, почему он не может его найти.
Вот как выглядит мой код.
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup as soup
from selenium.webdriver.common.action_chains import ActionChains
url = "http://csgo.exchange/id/76561197999004010#x"
driver = webdriver.Firefox()
driver.get(url)
import time
time.sleep(10)
html = driver.page_source
soup = soup(html, "html.parser")
containers = soup.findAll("div",{"class":"vItem"})
print(len(containers))
for container in containers:
test = getattr(container, "data-id")
print(str(test))
with open('scraped.txt', 'w', encoding="utf-8") as file:
file.write(str(containers))
Вотпример того, как выглядит каждый контейнер.
div class = "vItem Normal Container cItem" data-bestquality = "0" data-category = "Normal" data-collection = "The Spectrum Collection" data-currency = "0" data-custom = "" data-external = "" data-hashname = "Spectrum% 20Case" data-id = "15631554103"